Web/JSP
JSP #16 sendRedirect & forward
언덕너머에
2015. 2. 6. 17:27
* sendRedirect
- 내장객체인 response의 매서드
- 브라우저의 URL을 변경하도록 하여 페이지를 이동하는 방식으로 request와 response 객체가
유지되지 않는다. 페이지를 이동하면서 데이터를 전송하기 위해서는 패러미터 값을 쿼리 스트링
형태로 덧붙여 주어야 한다.
ex)
response.sendRedirect("test.jsp?age=" + 20);
* forward
- requestDispatcher 객체로 접근해야만 호출이 가능하다.
requestDispatcher 객체는 request 객체의 getRequestDispatcher() 매서드를 호출해서 얻는다.
- 포워드 방식은 서버상에서 페이지가 이동되기 때문에 브라우저는 알아채지 못하고 URL도 변경
되지 않는다. 또한 기존의 request와 response는 유지되어 이동된다.
- 페이지 이동시 데이타를 전송하고 싶다면 기존의 request 객체가 그대로 유지되기 때문에
setAttribute() 매서드로 request 객체에 속성 값으로 저장해서 보내준다.
ex)
request.setAttribute("age", 20);
RequestDispatcher dispatcher=request.getRequestDispatcher("test.jsp");
dispatcher.forward(request, response);