Session 저장하는 방법 및 순서
1. Session 객체 생성
형식) request.getSession(); 또는 request.getSession(true) ;
==> 현재 세션이 존재하면 현재 세션 객체를 반환하고, 세션이 없으면 새로운 세션을 생성한다.
==> 현재 세션이 존재하면 세션 객체를 반환하고, 세션이 없으면 null 을 반환한다.
HttpSession session = request.getSession();
2. Session 값 저장하기
형식) session객체.setAttribute("key값" , session값);
==> 'key값'은 문자열, 'session값'은 모든 종류의 데이터
cookie랑 다르게 session은 값에 리스트, 문자, 객체, 숫자 등등 다양하게 저장이 가능하다. (자바에서의 모든 종류의 데이터)
package kr.or.ddit.session;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
//서블릿 불러올때 이름 설정
@WebServlet("/sessionAddServlet.do")
public class SessionAddServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//세션객체 생성한다
HttpSession session = request.getSession();
//세션값 저장한다.
session.setAttribute("testSession", "연습용 세션입니다.");
session.setAttribute("userName", "홍길동");
session.setAttribute("age", 30);
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html><head><meta charset='utf-8'>");
out.println("<title>Session 연습 </title></head>");
out.println("<body>");
out.println("<h2>Session 데이터가 저장되었습니다. </h2><br><br>");
out.println("<a href='" + request.getContextPath() + "/03/sessionTest.jsp'> 시작 문서로 이동 </a>");
out.println("</body>");
out.println("</html>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
----------------------------------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Session 연습</title>
</head>
<body>
<a href="<%=request.getContextPath()%>/sessionAddServlet.do">Session 정보 저장하기</a>
<br><br>
<a href="<%=request.getContextPath()%>/sessionReadServlet.do">Session 정보 확인하기</a>
<br><br>
<a href="<%=request.getContextPath()%>/sessionDeleteServlet.do">Session 정보 삭제하기</a>
</body>
</html>
댓글
댓글 쓰기