[Spring] Session 활용

Jeini·2023년 5월 22일
0

🍃  Spring

목록 보기
9/33
post-thumbnail

✏️ Session_Login 기능 추가


✔️ 게시판 이용 시, 미로그인이면 로그인 화면으로 이동

  • LoginController 가 로그인에 성공했을 때 boardList.jsp 가게 만들려면, index.jsp 에서 Board를 클릭했다는 것을 알아야 함
    ➡️ BoardController 에서 보면 어디서 왔는지 어디로 요청했는지 알 수 있다. 즉, from / to를 알 수 있다.
    ➡️ 처음 to: /board/list 로 갔다는 값을 가져와야 한다.

✔️ request.getRequestURL() ➡️ to 정보 값
✔️ request.getHeader("referer") ➡️ from 정보 값

❗️ Session의 부담?


✔️ 세션을 시작할까? ➡️ session = "true" / session = "false

  • 맨 앞에 홈이랑 로그인 폼은 session 객체가 필요없다. 하지만 session=true 값을 가져서 홈 화면일때부터 세션이 시작된다. ➡️ 비효율적 👎

  • session은 서버에 부담이 많이 가므로 효율적으로 써야 한다.
    : 세션 유지 가능 기간이 짧아야 된다.

  • 로그인해서 아이디가 저장될 때 그때 ➡️ session이 필요
    : 이때부터 세션 시작되게 하기!

  • session = "false" 는 세션이 시작하기 전에만 의미가 있음. 로그인해서 세션이 생성될 때는 계속 true로 감!

✔️ <%@ page session="false" %>
: 이 페이지에서는 세션을 시작하지 않는다는 의미

session=”false” 일 때, sessionScopepageContext.session 은 사용 불가.

⭐️ sessionScope.idpageContext.request.getSession(false).getAttribute(”id”) 로 변경해야 함

STS에서 에러라고 표시해도 무시하면됨

❗️ getSession(true)는 session이 없는 경우 session을 새로 생성하기 때문에 session이 없어도 새로 생성하지 않도록 getSession(false)를 사용

✏️ <%@ page session="false" %>를 달아준 jsp 페이지

  • 쿠키가 생성되지 않은 것을 확인할 수 있다.
    ➡️ session 생성 ❌

Reference
: https://fastcampus.co.kr/dev_academy_nks

profile
Fill in my own colorful colors🎨

0개의 댓글