삶 가운데 남긴 기록 AACII.TISTORY.COM
세션 Session 본문
세션은 클라이언트 마다 개별적으로 생성되어 클라이언트의 브라우저를 종료할 때까지 서버쪽에서 그 객체(정보)를 유지합니다.
HttpSession 생성
HttpSession객체는 개발자가 수동으로 생성하는게 아니라 HttpServletRequest의 getSession() 메서드를 이용해서 객체를 획득합니다.
새 서블릿 SessionTest.java를 생성합니다.
package net.aacii.test;
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("/sessionTest")
public class SessionTest extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
String param = req.getParameter("p");
String msg = null;
HttpSession session = null;
if(param.equals("create")) {
session = req.getSession();
if(session.isNew()) {
msg = "새 세션 객체 생성됨.";
}else {
msg ="기존 세션 객체 리턴됨.";
}
}else if(param.equals("delete")) {
session = req.getSession(false);
if(session != null) {
session.invalidate();
msg = "세션 객체 삭제 왼료.";
}else {
msg = "삭제할 세션이 존재하지 않음.";
}
}else if(param.equals("add")) {
session = req.getSession();
session.setAttribute("msg", "메시지");
msg = "세션 객체에 데이터 등록";
}else if(param.equals("get")) {
session = req.getSession(false);
if(session != null) {
String str = (String) session.getAttribute("msg");
msg = str;
}else {
msg = "데이터를 추출할 세션 객체가 없음.";
}
}else if(param.equals("remove")) {
session = req.getSession(false);
if(session != null) {
session.removeAttribute("msg");
msg = "세션 객체의 데이터 삭제 완료.";
}else {
msg = "삭제할 세션 객체가 없음.";
}
}else if(param.equals("replace")) {
session = req.getSession();
session.setAttribute("msg", "새로운 메시지입니다");
msg="세션 객체에 데이터 등록 완료.";
}
out.print("처리결과:"+msg);
out.close();
}
}
728x90
'DEV&OPS > Java' 카테고리의 다른 글
request 상태 정보 유지 (0) | 2022.06.15 |
---|---|
세션을 이용한 로그인 (0) | 2022.06.14 |
쿠키 Cookie (0) | 2022.06.14 |
ServletContext (0) | 2022.06.13 |
서블릿 설정(web.xml)과 변수 (0) | 2022.06.10 |