반응형
웹페이지에서 회원관리는 필수적입니다.
웹페이지에서 회원가입 후 로그인을 하면 사용하는 동안 로그인이 유지되도록 하게 위해 session을 사용해보려고 합니다.
HttpSession을 사용하면 자바와 자바스크립트에서 모두 활용할 수 있어 편리합니다.
1. 로그인 시 세션 생성
HttpSession을 생성한 뒤 내가 원하는 Attribute를 설정합니다.
Attribute의 name과 value 값을 넣어주면 됩니다.
HttpSession session = request.getSession(true);
session.setAttribute("userId", paramMap.get("userId"));
session.setAttribute("userName", paramMap.get("userName"));
...
...
컨트롤러 예시입니다.
1
2
3
4
5
6
7
8
9
10
11
12
|
@RequestMapping(value = "/user/loginUser", method = {RequestMethod.POST})
public @ResponseBody Map<String, Object> getLoginUser(@RequestBody Map<String, Object> paramMap, HttpServletRequest request) throws Exception
{
HttpSession session = request.getSession(true);
session.setAttribute("userId", paramMap.get("userId").toString());
session.setAttribute("userName", paramMap.get("userName"));
return null;
}
|
cs |
2. 로그아웃 시 세션 무효처리
로그아웃이나 기타 다른 이유로 인해 세션을 종료하고자 할 경우 사용합니다.
HttpSession session = request.getSession(true);
session.invalidate();
컨트롤러 예시입니다.
1
2
3
4
5
6
7
8
|
@RequestMapping(value = "/user/logout", method = {RequestMethod.GET})
public String setLogOut(HttpServletRequest request) throws Exception
{
HttpSession session = request.getSession(true);
session.invalidate();
return "/home/home";
}
|
cs |
3. 자바스크립트에서 세션 값 사용하기
jsp단에서도 설정한 세션에 접근할 수 있습니다.
화면에 세션 값 중 일부를 표시하고 싶거나 변수로 다양하게 활용하고자 할 경우 아래와 같이 사용할 수 있습니다.
1
|
var sessionUserId = '<%=(String)session.getAttribute("userId")%>';
|
cs |
세션 생성 시 설정한 Attribute의 name값으로 그에 해당하는 데이터를 꺼내올 수 있습니다.
** 에시에서의 name 값은 "userId"입니다.
728x90
반응형
'IT, 개발 > JAVA' 카테고리의 다른 글
JAVA - 실행중인 운영체제 확인하기(System.getProperty("os.name")) (0) | 2022.12.02 |
---|---|
JAVA - 이메일 보내기 예제(SMTP, 구글(Gmail) 메일 보내기) (1) | 2022.12.02 |
JAVA - ArrayList index별 값 삭제 첫번째, 마지막, 중간값 삭제 / 전체 삭제(remove(), clear()) (0) | 2022.11.17 |
MacOS JAVA 설치 및 환경변수 설정(Homebrew, ~/.zshrc) (0) | 2022.11.02 |
Modbus - JAVA 모드버스 통신 예제 (modbusServer, modbusClient 자바 예제) (0) | 2022.11.02 |