본문으로 바로가기

sendRedirect, include, forward의 차이점

category WEB/Servlet,JSP 2020. 6. 9. 19:55

Servlet, JSP에서 사용되는 사용자 요청 컨트롤 메소드들.

1.sendRedirect

  • 클라이언트의 요청을 다른페이지로 다시 연결하는 기능

    if ( authManager.loginCheck(request) ) {
        response.sendRedirect("/loginForm.jsp");
    }

    ex) 로그인을 안했을 경우 sendRedirect 를 통해서 로그인 페이지로 이동하게끔 한다.

  • 위와 같이 특정 조건,처리 후 지정된 페이지로 돌려보내고 싶을때 사용한다.

  • 하지만 지정된 페이지에 객체를 전달할 수 없다는 특징이 있다.

2.include, forward

공통점
  • RequestDispatcher 객체에서 사용되는 메소드이다.
  • 요청 전달에 사용되는 메소드이다.
  • 다른 페이지에 객체를 전달할 수 있다.
차이점
  • 클라이언트에게 요청받은 request를 유지한다는 점에서는 같지만
    request의 제어권에서 차이가 있다.

  • Forward의 경우 URL1에서 URL2로 전달할 경우 제어권이 URL2로 넘어가게되고
    따라서 URL1에서 처리한 결과화면이 클라이언트에게 보여지지 않고 URL2의 결과만
    뿌려지게 된다.

  • Include는 URL1에서 URL2로 전달하고 제어권은 다시 URL1으로 돌아오게 된다.
    따라서 URL2의 화면이 URL1에 포함되서 보여지게 된다.

'WEB > Servlet,JSP' 카테고리의 다른 글

JSP의 표현언어 EL이란?  (0) 2020.06.11
컨텍스트 리스너(Context Listener)란??  (0) 2020.06.10
쿠키(Cookie)와 세션(Session)  (0) 2020.06.09
Servlet, JSP의 객체 범위  (0) 2020.06.09
Servlet 과 Request 객체  (0) 2020.06.08