[-문구-Compeople-문구-]

+::Programing::/JSP2021. 9. 6. 09:31

1. 포워드(forward)
  - request스코프에 담긴값이 유효하다.(request,response가 유지된다.)
  - 이동된 url이 화면에 안보인다.(사용자는 이동했는지 알수없음)
  - 포워드하는 방법
    1) pageContext.forward("이동할페이지");
    2) ;
    3) RequestDispatcher rd = request.getRequestDispatcher("이동할페이지");
        rd.forward(request,response);

  • <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
  • <jsp:forward page="/main.do"/>

 


2. 리다이렉트(redirect)
  - 클라이언트가 새로 페이지를 요청한 것과 같은 방식으로 페이지가 이동됨.
    request, response가 유지되지 않는다.(새로 만들어짐.)
  - 이동된 url이 화면에 보인다.
  - 리다이렉트 하는 방법
    response.sendRedirect("이동할페이지");

  • <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
  • <% response.sendRedirect("http://www.iworks2018.kr"); %>

** forward 방식은 request 값이 유효하여, 값이 전달 된다, 처음 접속했던 페이지 주소가 유지된다(사용자는 페이지가 바뀐 사실을 모를수 있다.)

** redirect 방식으로 파라메터 값을 넘기면 값은 null이다. 처음 접속했던 페이지 주소는 redirect할 주소로 바뀐다.
redirect 방식은 request유지하지 않기 때문에 redirect 되면서 값이 없어진다.
response.sendRedirect("result.jsp?id=1"); 이렇게 찍어보면 1이 넘어간다.


출처: https://installed.tistory.com/entry/8-JSP-특정페이지로-이동방법

Posted by Compeople