TIL40)SERVER : jsp2

JIN JIN·2025년 4월 7일

TIL_SERVER

목록 보기
3/6

2025.4.7 40일차
server 3일차

복습 +

index.jsp


클릭했을때 /book/list로 get 방식 요청 보냄
이 get 방식 요청을 받을 servlet class만들기 => bookServlet

bookservlet

1.어노테이션
2.extends
3.do get

book으로 타입이 제한된 List 생성

book이라는 dto생성하기

롬복추가하기!!!!!!!!!!!

to stirng, getter,setter + 기본생성자, 매개변수 생성자 사용하려고!!

북 클래스 완성!!

bookservlet

/WEB-INF/views/book/bookList.jsp 만들기

bookList.jsp

jstl lib이용하고싶다면 lib확인하고, 지시자 태그 두개 추가하기
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%-- fn:컬렉션/ 문자열 관련 기능 --%>
<%@ taglib prefix ="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
바로 이 문구 두줄 맨위에 추가하기

index.jsp가 뜸

한번더 클릭하면

우리가 bookservlet 에서 입력해놓은 책 7권.


for each문을 돌면서 출력 가능한데, count를 사용하려면, varStatus="vs"를 사용하여
vs.count : 현재반복횟수를 출력가능.

css나 js 폴더는 webapp폴더 바로 하위에

정적파일 : css , js -> 브라우저 url css ,js경로를 입력하면 브라우저 노출
동적 : jsp

  • CSS,JS파일은 브라우저에서 직접 요청하는 정적 파일,이런 정적 리소스 들은 클라이언트(브라우저) 에서 직접 접근 가능해야하므로 webapp 폴더 또는 그 하위 폴더에 있어야함.
  • WEB-INF 폴더 안에 넣으면 인식X
  • webapp 폴더 기준으로 경로 작성

    web-INF 하위에는 브라우저가 직접 접근 x 라서 여기에 넣으면 안됨.
    서블릿 통해서 접근할수있는 파일들임


접근 불가

접근가능


css와 js를 연결 시켜주었더니,
http://localhost:8080/book/list 창에서 F12를 누르니 확인가능하다.

3배수 반복시 회색창 출력

if문 , count활용

리 다이렉트?

보이는 화면 /fr/forward 이고 우리는 web-inf/views/fr/forward_result.jsp파일로
또 위임.

request scope 객체를 이용해서 전달 받은 값 = 총 3개

forward.jsp에서 꺼내올수 있는건 총 3개
req에 잇는 input2개 와 내가 str "안녕하세요"


redirect : 재요청 : 다른 서블릿으로 재요청!

클라이언트의 요청을 받은 Servlet에서직접 응답하지 않고, 다른 Servlet을 다시 요청하는 것

  • 보통 Servlet 요청 처리 후 특정 JSP로 요청을 위임해 결과 화면을 응답해 주는 것이 아닌
    (요청 받은 Servlet이 응답해줄 JSP가 없음)
    다른 Servlet을 다시 요청하여 다른 Servlet의 결과 화면을 응답해줌
  • redirect는 다시 요청 하는 것!!!
    -> 기존 req, resp 객체가 사라지고 새로운 req, resp 객체가 생성된다.
    -> request scope에 세팅된 값들이 모두 사라짐
  • redirect는 응답 화면의 주소가 처음 요청한 Servlet 주소가 아닌
    재요청한 Servlet 주소로 변경된다
  • 다른 Servlet을 요청하기 위해서는 "요청 주소"를 작성해야 한다.

    서블릿->서블릿
    서블릿 클래스가 2개라는 뜻
    기존 req,resp객체가 사라지고 새로운게 생성됨

index.jsp


여기까지는 똑같다.

index부터 시작한 input2개 + req.set한 "str2" => 3개
req 3개 + session 3개

redirectServlet

resultServlet

코드 흐름




redirect input에 작성한게 안보임 : 이유에 대해 알아보기

재요청 하고싶을때 쓰는 redirect :
로그인 할때 로그인 된 상태로 리다이렉트 -> 메인페이지로.
왜냐면 로그인 햇다는 창을 안뜸!!!
만약 forward 였으면 로그인했습니다~ 라고 뜰듯.

todolist

servlet +jsp+ db(mvc)
html/css/js(응답화면 ) -> jsp
요청/응답->servlet (controller)----->jsp화면 만들어줌
+DB(service<->DAO<->DB)

  1. db부터 있어야함!!

    디비버



2.이클립스
new dynamic web project

가장 먼저 읽어들이는 배포 서술자 web.xml

파일 이름 목록화!

index.jsp부터 요청 보내기
지시자 태그만 빼고 싹 지우기

index.jsp

MainServlet

driver.xml

JDBCTemplate (복붙한거에서 수정)


driver.xml 복사 붙여넣기

profile
WAVYFROMTHEOCEAN

0개의 댓글