일단 테스트 이긴 한데, 세션에 값을 저장 할 때, Java에서 아래 처럼 사용할 수 있었다.
HttpSession httpSession = request.getSession(true);
httpSession.setAttribute("MEMBER", memberDetail);
근데, @Scope 으로도 다른 방식으로 session 에 값을 저장할 수 있음.
1. Session Entity? 만들기
@Component
@Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS)
public class MemberSession extends MemberVO{
}
2. Controller에 1번꺼 주입하기
@Autowired
private MemberSession memberSession;
3. Controller 메소드에서 session값 셋팅해주기
memberSession.setEmail(memberDetail.getEmail());
4. session에 저장한 값 가져오는 법:
@GetMapping("/logout")
public ModelAndView logoutAction(HttpServletRequest request, HttpSession session) {
MemberSession memberSession = (MemberSession) session.getAttribute("scopedTarget.memberSession");
:: scopedTarget.클래스명 이런식으로 가져와서 쓰는거인듯하다.
5. jsp 에서 session 값 확인하기
${sessionScope['scopedTarget.session'.memberSession]} 요런식
'배운 내용 정리 > SPRING' 카테고리의 다른 글
mapper를 통해 Java enum타입에 맵핑하기 (0) | 2021.11.17 |
---|---|
Spring log4j2 설정 참고 URL (0) | 2021.08.03 |
root-context에 properties 파일을 등록 및 암호화 (0) | 2021.07.31 |
xml에 compoment 한번에 등록하기 (0) | 2021.07.31 |
리다이렉트, 인터셉트 (0) | 2020.06.18 |