안녕하세요. pitang입니다.
JSP의 redirect를 이용해 페이지를 이동하는 방법에 대해 알아보겠습니다.
redirect
redirect는 웹 서버가 웹 브라우저에게 다른 페이지로 이동하라고 응답하는 기능이다.
response 기본 객체에서 많이 사용되는 기능 중 하나는 redirect 기능이다.
url1 -(redirect)-> url2는 url2의 주소 값을 가지게 된다.
메서드를 실행하기 전, JSP 페이지에서 필요한 코드를 실행한 후,
response.sendRedirect(String location("이동할 페이지")); 과 같은 형태로 사용된다.
ex1)
ex2)
forward와 redirect의 차이점
forward - 웹 브라우저에는 최초에 호출한 URL이 표시, 이동한 페이지의 URL 정보는 확인할 수 없다.
request, response 객체가 한 번만 생성된다. 객체를 같이 사용한다.
redirect - URL이 지시된 주소로 바뀌고 해당 주소로 이동한다.
주소로 이동하며 새로운 페이지에서는 request, response 객체가 새롭게 생성된다.
ex1)
-> forward로 호출했기 때문에 URL에는 최초에 호출한 04forward-from.jsp 주소가 뜨게 된다.
ex2)
-> redirect로 호출했기에, 지시된 주소 05redirect-to.jsp 로 바뀌게 된다.
redirect에서의 request, response 객체와 session 객체
서로 다른 request객체이기 때문에 url1에 request를 붙여도 url2에서는 소용이 없다. 새롭게 생성이 된다.
redirect에서 객체를 공유하려면 session 객체를 사용해야 하며, 그 것은 redirect를 정리한 이후 자세하게 알아볼 것이다.
ex1) request
-> 06from.jsp 에서 302 코드로 사용자를 새로운 URL 06to.jsp 로 이동시켜주었다.
06from.jsp 에서 request로 값을 넣어주었기 때문에 06to.jsp 에서는 null 값이 나오는 것을 확인할 수 있다.
ex2) session
-> session 객체를 사용하면 redirect에서 객체 공유가 가능하다.
로그인
ex1)
ex2)
ex3)
감사합니다.
*m1 맥북을 사용 중입니다.*
'6개월 대장정 > JSP 개념' 카테고리의 다른 글
53일차 - [JSP] session (1) | 2021.11.07 |
---|---|
53일차 - [JSP] redirect(2) (0) | 2021.11.06 |
52일차 - [JSP] <jsp:forward> 액션 태그 (0) | 2021.11.04 |
51일차 - [JSP] attribute (0) | 2021.11.04 |
51일차 - [JSP] include디렉티브, <jsp:include> 액션 태그 (0) | 2021.11.04 |