20241004(금) Server : JSP3

Dodo Lee·2024년 10월 4일

[ JSP3 ]


== 개념 복습 ==

page : JSP
request : Servlet, 요청위임
session : 브라우저 켜짐~꺼짐
application : 서버 켜짐~꺼짐

webapp폴더 : 앞마당(아무나 가져가기 쉬움)
WEB-INF폴더 : 집 안방(아무나 가져가기 힘듦)

MVC 패턴
Model - vo/dto, service, dao
View - html, jsp
Controller - Servlet

클라이언트  ->  Controller  ->  Service  ->  DAO  -> 
					             DB/외부파일
클라이언트 <- view <- Controller <- Service <- DAO <-

ex) 로그인(요청) - 아이디 / 비밀번호
Controller : 알맞은 요청처리 매핑
Service : 비밀번호 암호화에 관련된 로직처리(데이터 가공처리)
DAO : 가공처리된 데이터를 DB에 전달
DB : 조회 -> 결과
DAO : 결과 반환
Service : 결과 반환
Controller : 결과 반환 --> 가입이 된 사람이다 : view(메인페이지로) -> 클라이언트
결과 반환 --> 가입이 안 된 사람이다 : view(회원가입 페이지로) -> 클라이언트


== forward와 redirect ==

forward : 요청 위임

  • 클라이언트 요청을 받은 Servlet/JSP가 직접 응답하는 것이 아닌
    다른 Servlet/JSP에 HttpServletRequest, HttpServletResponse
    객체를 넘겨서(위임) 대신 응답하게 하는 것
  • 요청 위임 시RequestDispatcher(요청 발송자)를 이용
  • 요청 위임할 JSP 파일 경로 작성
  • 응답 화면(결과 페이지) 주소는 처음 Servlet이 요청 받은 주소 그대로!

== redirect(재요청, 다른 Servlet 요청) ==

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

0개의 댓글