Servlet의 페이지 이동 방식(Forward, Redirect)

kimwoody·2021년 11월 27일
0

Java Web Programming

목록 보기
4/4

자바로 웹 개발을 하면 MVC(Model, View, Controller) 디자인 패턴을 사용한다고 한다. 여기서 Controller는 Model과 View를 연결해주면서 페이지 이동도 해준다. View는 페이지를 보여주는 역할을 수행한다.

오늘 포스팅은 Controller(Servlet)에서 View(JSP)로 이동하는 방식 2가지(Forward, Redirect)를 알아본다.

Forward

  • request와 response 객체가 유지되면서 페이지를 이동하는 방식
  • WAS(Web Container) 상에서 이동하여 클라이언트 측은 이동 여부를 모름 웹 브라우저에 이동한 페이지의 URL 확인 불가
  • 클라이언트가 재요청 할 경우에 기존 동작이 반복
  • 필요시 Model과의 연동 결과를 request 객체에 정보를 할당(request.setAttribute(name, value))하고 View에서 정보를 이용할수 있게 함

클라이언트가 재요청을 할때 기존 동작이 반복되므로 데이터베이스나 시스템에 변화가 생기지 않는 정보 조회나 검색기능에 주로 Forward를 사용한다.

Redirect

  • 기존 request, response 객체가 유지되지 않음
  • 클라이언트가 재요청시 기존 동작을 반복하지 않음
  • 페이지 이동을 할 때 클라이언트에게 URL을 전달해서 클라이언트가 페이지를 이동하게 하는 방식

Forward와 반대로 재요청 할 경우에 기존 동작을 반복하지 않는다. 그 때문에 데이터베이스나 시스템에 변화가 생기는 댓글 작성, 회원가입 등의 기능은 Redirect를 사용한다.

0개의 댓글