IT수업/STS3

IT 수업 19주차 (118) FORWARD, REDIRECT, ServletCode

워제하 2024. 4. 30. 15:20

Forward

포워드를 하기 위해 ParameterTestController.java에서 작성한다.

 

포워딩 할 위치 지정한다.

forward1으로 주소를 지정하면 forward2로 

forward2으로 주소를 지정 하면 forward3로 이동하도록 작성한다.

 

 

forward1을 주소에 입력하면 forward3으로 이동하기때문에 이동하는 경로인 forward1,2,3 이 찍히는 것을 확인 할 수 있다.

 

 

 

페이지 뷰로 보기 위해 views -> test 안에 forward3 페이지를 만들어준다.

 

 

forward3.jsp를 작성하여 실행되는지 확인한다.

 

 

 

 

return할 경로를 지정해준다.

 

forward3.jsp 에 파라미터를 받는 코드를 작성한다.

 

 

 

 

● Redirect

위의 코드를 그대로 들고와 forward를 redirect로 변경해준다.

 

 

그리고 redirect3 페이지를 만들어준다.

 

 

 

 

 

주소는 http://localhost:8080/app/test/redirect1로 적었지만 페이지들을 이동하면서 초기화 되어 최종적으로는

http://localhost:8080/app/test/redirect3?redirect2=redirect2Value 가 되어 redirect3Value 만 출력된다.

 

 

 

 

 

 

 

 

이번에는 model이 아닌 redirectAttributes로 바꿔서 넣어본다.

 

localhost:8080/app/test/redirect1로 들어가면 거쳐가는 페이지들이 나타나면서 최종적으로 redirect3 페이지가 나타나는 것을 확인 할 수 있다.

 

 

이번에는 redirect value를 전달한다.

이렇게 하고 test/redirect1을 하면 주소가 http://localhost:8080/app/test/redirect3?redirect1=redirect1Value&redirect2=redirect2Value로 바뀐다.

 

 

 

 

 

 

redirect3.jsp 에 param을 주고 다시 출력해본다. 

 

그러면 redirect1Value와 redirect2Value가 출력된다.

 

 

 

 

 

redirect3Value가 출력이 되지 않기 때문에 출력을 위해 redirect3페이지를 redirectResult로 변경해준다.

 

그리고 보낼 페이지를 redirectResult로 지정해주고 redirectAttributes가 아닌 model로 해준다.

 

 

redirctAttributes가 아닌 model로 해줬기 때문에 페이지에서 받는 값의 param은 지워준다.

 

 

그러면 redirect3Value까지 출력되는 것을 확인 할 수 있다.

 

 

 

 

 

 

● addFlashAttribute

 

addAttribute는 주소에 저장되고

addFlashAttribute는 세션에 일시적으로 잠깐 저장되고 한번 사용하면 삭제된다.

 

 

 

 

 

 

● 서블릿 코드 적용하기

 

 

 

HttpServletRequest와 HttpServletResponse를 출력시켜본다.

 

실행시키면 request와 response가 출력된다.

 

 

이번에는 세션도 꺼내본다.