JSP 세션(Session)
- JSP 웹 문서의 쿠키와 다르게, 웹 브라우저에 사용자의 상태를 유지하고 정보를 보관하는 것이 아니라 웹 브라우저에 사용자의 상태를 유지하고 정보를 보관하기 위해 웹 서버 쪽의 웹 컨테이너에 사용자의 정보를 저장할 때 사용한다.
- 세션은 웹 브라우저에 사용자의 상태를 유지하고 정보를 보관하기 위해 javax.servlet.http 패키지의 HttpSession 인터페이스를 구현해서 사용한다.
- 세션은 하나의 웹 브라우저에 하나의 세션이 생성되어 웹 컨테이너에 저장된다.
- 웹 서버는 각각의 웹 브라우저로부터 발생한 요청에 대해 식별자를 부여한다.
- 식별자를 부여한 다음에 부여한 식별자를 웹 브라우저에 발생한 요청들과 비교한 후 동일한 식별자를 구별하게 된다.
- 이렇게 부여된 식별자에 특정한 값을 넣어 보관할 수 있으며, 식별자에 보관된 이 정보를 사용해서 세션을 유지하게 된다.
JSP 세션 메서드
- JSP 세션은 setAttribute() 와 getAttribute() 등의 메서드를 사용해 속성 값을 설정하거나 세션만의 고유정보를 제공하게 된다.
- 세션은 각각의 세션을 구분하기 위해 고유의 세션 ID를 할당한다.
- 세션 ID는 쿠키를 통해서 클라이언트인 웹 브라우저에 전달된다. 세션은 가장 최근에 사용 시간을 저장하게 된다.
JSP 세션 사용 방법
session 객체 설정 사용예제
JSP 페이지에 로그인하면 로그인 ID를 세션에 저장하게 된다.
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%request.setCharacterEncoding("utf-8");%>
<%
// uID 파라미터를 request에서 가져옴
String uID = request.getParameter("uID");
// uPasswd 파라미터를 request에서 가져옴
String uPasswd = request.getParameter("uPasswd");
// 로그인 정상처리유무 확인
if (check) {
// 로그인 성공(세션에 "uID"라는 이름으로 uID 등록)
session.setAttribute("uID", uID);
%>
<script type="text/javascript">
alert("정상적으로 로그인이 되었습니다.");
</script?
<%
// indexLogin10 JSP 페이지로 이동
response.sendRedirect("indexLogin10.jsp");
} else { // 로그인 실패
%>
<script type="text/javascript">
alert("로그인이 되지 않았습니다. 다시 로그인하세요!");
// 이전 페이지로 이동
history.go(-1);
</script>
<%
}
%>
session 객체 가져오기 사용예제
JSP 세션에서 ID를 가져와서 로그인 상태를 인증하고, 로그인 값이 없을 경우에는 로그인 페이지로 이동하게 한다.
<%@page language="java" contentType="text/html; charset=utf-8"%>
<%request.setCharacterEncoding("utf-8");%>
<%
String uID="";
try {
// uID 파라미터를 request에서 가져옴
uID = (String)session.getAttribute("uID");
// uID가 없거나 null인 경우
if (uID == null | uID.equals("") {
// 로그인 페이지로 이동
response.sendRedirect("Login10.jsp");
}
}
%>
session 객체 제거하기 사용예제
로그아웃 시 현재의 세션 정보를 제거하는 것을 말한다.
<%@page language="java" contentType="text/html; charset=utf-8"%>
<%request.setCharacterEncoding("utf-8");%>
// 세션 정보 제거
<%session.invalidate();%>
<script type="text/javascript">
alert("로그아웃 되었습니다.");
// 메인화면 페이지로 이동
location.href="indexLogin10.jsp";
</script>
'~2023.02 > JSP' 카테고리의 다른 글
[JSP]JSP의 두 가지 문법 형태 (0) | 2022.06.13 |
---|---|
[JSP]JSP&Servlet 이해 (0) | 2022.06.13 |
JSP 처리 과정 (0) | 2022.06.04 |
JSP 페이지의 구성요소 (0) | 2022.06.04 |