본문 바로가기

6개월 대장정/JSP 개념

52일차 - [JSP] redirect(1)

반응형

안녕하세요. pitang입니다.

JSP의 redirect를 이용해 페이지를 이동하는 방법에 대해 알아보겠습니다.

 

redirect

redirect는 웹 서버가 웹 브라우저에게 다른 페이지로 이동하라고 응답하는 기능이다.

response 기본 객체에서 많이 사용되는 기능 중 하나는 redirect 기능이다.

url1 -(redirect)-> url2는 url2의 주소 값을 가지게 된다.

 

메서드를 실행하기 전, JSP 페이지에서 필요한 코드를 실행한 후,

response.sendRedirect(String location("이동할 페이지")); 과 같은 형태로 사용된다.

 

ex1)

01response.jsp
02redirect.jsp
URL
console

 

ex2)

03from.jsp
03from.jsp
URL
console


forward와 redirect의 차이점

 

forward - 웹 브라우저에는 최초에 호출한 URL이 표시, 이동한 페이지의 URL 정보는 확인할 수 없다.

                  request, response 객체가 한 번만 생성된다. 객체를 같이 사용한다.

redirect - URL이 지시된 주소로 바뀌고 해당 주소로 이동한다.

                 주소로 이동하며 새로운 페이지에서는 request, response 객체가 새롭게 생성된다.

 

ex1)

04forward-from.jsp
04forward-to.jsp
URL
console

-> forward로 호출했기 때문에 URL에는 최초에 호출한 04forward-from.jsp 주소가 뜨게 된다.

 

ex2)

05redirect-from.jsp
05redirect-to.jsp
URL
console

-> redirect로 호출했기에, 지시된 주소 05redirect-to.jsp 로 바뀌게 된다.


redirect에서의 request, response 객체와 session 객체

 

서로 다른 request객체이기 때문에 url1에 request를 붙여도 url2에서는 소용이 없다. 새롭게 생성이 된다.

redirect에서 객체를 공유하려면 session 객체를 사용해야 하며, 그 것은 redirect를 정리한 이후 자세하게 알아볼 것이다.

 

ex1) request

06from.jsp
06to.jsp
URL - 검사 Network
console

-> 06from.jsp 에서 302 코드로 사용자를 새로운 URL 06to.jsp 로 이동시켜주었다.

     06from.jsp 에서 request로 값을 넣어주었기 때문에 06to.jsp 에서는 null 값이 나오는 것을 확인할 수 있다.

 

ex2) session

07from.jsp
07to.jsp
console

-> session 객체를 사용하면 redirect에서 객체 공유가 가능하다.


로그인

ex1)

09login-form.jsp
09main.jsp
URL - login-form
URL - maincontents console

 

ex2)

11login-form.jsp
11main.jsp
loginform console - main console
URL status=error
loginform error console

 

ex3)

12login-form.jsp
12main.jsp
loginform console - main console
login form error console - alert console

 

 

 

 

 

 

감사합니다.

 

*m1 맥북을 사용 중입니다.*

728x90
반응형