Spring/01 Spring MVC

18 세션(Session)-실습

라타노 2023. 6. 11. 22:45
반응형

세션(Seesion) - 실습(1)

1)게시판 이용시, 미로그인이면 로그인 화면으로 이동

>> BoardController.java boardList.jsp 만들기

 

 

BoardController.java

 

boardList.jsp

 

>> Board 클릭하면 게시판 이동

>> 현재는 로그인 없이 게시판으로 이동하게 되어

      로그인 후 게시판으로 이동할 수 있도록 변경해야한다

 

 

 

 

2)LoginController.java, sesstionid 저장하도록 하기

 

LoginController.java

 

 

 

index.jsp 변경 (세션에 ID저장)

 

>> 세션에 id가 저장 되어 한번만 로그인을 해도 HomeBoard에 화면이 출력됨

>> 세션에 id가 저장 하지 않으면 BoardHome으로 이동시 로그인 필요,

                                                            HomeBoard 이동시 로그인 필요

 

 

3)로그아웃 기능 만들기

LoginController.java (logout 메서드 추가

 

boardList.jsp 변경 및 추가

 

 

세션(Seesion) - 실습(2)

>> 로그인을 하면 홈으로 이동된다

>> 게시판에서 로그인을 한다면? 게시판으로 이동할 수 있도록 한다

 

 

구상

>> from : 어디서 왔는지, to : 어디로 요청했는지

from 정보 알아내기 - request.getHeader("refer"); // refer의미 : 누가 요청했냐

to 정보 알아내기- request.getRequestURL( );

 

 

 

performanceFilter.java

 

 

 

BoardController.java에서

     /board/list값을 loginForm.jsp LoginController.java로 전달

 

BoardController

>> BoardController에서 /board/list값을 GET방식으로 loginForm.jsp 이동

 

 

loginForm.jsp

>> input 태그로 /board/list값을 받는다

 

결과확인

 

loginForm.jsp

>> 개발할때는 typetext로 찍어보고 결과 확인후, typehidden으로 변경(노출X)

 

 

LoginController.java(@PostMapping("/login") 부분)

>>String toURL의 갑을 받아 return“redirect:"+toURL;로 호출

 

 

결과확인

 

 

 

세션의 흐름 session="true" or session="false"?

>> 세션은 서버에 부담이 많이 간다(최대한 세션 유지 영역을 짧게 만들 것)

 

 

세션 유지 영역 짧게 만들기

 

 

 

세션 유지 영역 짧게 만들기 - 실습

 

 

결과 확인

>> 마우스(오른쪽 클릭) 검사 어플리케이션 쿠키

>> 홈버튼을 여러번 클릭해도 쿠키가 생성되지 않는다

 

>> 게시판 클릭시, 로그인화면에 쿠키가 생성된다

>> 게시판을 갔다와기 때문에 쿠키 생성

>> /login/login으로 들어가면 쿠키는 생성되지 않는다

 

 

@CookieValue

 

 

 

 

 

반응형