-
18 세션(Session)-실습Spring/01 Spring MVC 2023. 6. 11. 22:45반응형
세션(Seesion) - 실습(1)
1)게시판 이용시, 미로그인이면 로그인 화면으로 이동
>> BoardController.java 와 boardList.jsp 만들기
BoardController.java
boardList.jsp
>> Board 클릭하면 게시판 이동
>> 현재는 로그인 없이 게시판으로 이동하게 되어
로그인 후 게시판으로 이동할 수 있도록 변경해야한다
2)LoginController.java, sesstion에 id 저장하도록 하기
LoginController.java
index.jsp 변경 (세션에 ID저장)
>> 세션에 id가 저장 되어 한번만 로그인을 해도 Home과 Board에 화면이 출력됨
>> 세션에 id가 저장 하지 않으면 Board→ Home으로 이동시 로그인 필요,
Home→ Board 이동시 로그인 필요
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
>> 개발할때는 type을 text로 찍어보고 결과 확인후, type을 hidden으로 변경(노출X)
LoginController.java(@PostMapping("/login") 부분)
>>String toURL의 갑을 받아 return“redirect:"+toURL;로 호출
결과확인
세션의 흐름 session="true" or session="false"?
>> 세션은 서버에 부담이 많이 간다(최대한 세션 유지 영역을 짧게 만들 것)
세션 유지 영역 짧게 만들기
세션 유지 영역 짧게 만들기 - 실습
결과 확인
>> 마우스(오른쪽 클릭) → 검사 → 어플리케이션 → 쿠키
>> 홈버튼을 여러번 클릭해도 쿠키가 생성되지 않는다
>> 게시판 클릭시, 로그인화면에 쿠키가 생성된다
>> 게시판을 갔다와기 때문에 쿠키 생성
>> /login/login으로 들어가면 쿠키는 생성되지 않는다
@CookieValue
반응형'Spring > 01 Spring MVC' 카테고리의 다른 글
20 예외처리(2) - 이론 (0) 2023.06.14 19 예외처리(1) - 실습 (0) 2023.06.13 17 세션(Session) (0) 2023.06.05 16 쿠키(Cookie) (0) 2023.06.03 15 redirect와 forward (0) 2023.06.02