Recent Posts
Recent Comments
Link
06-30 12:53
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

세션 Session 본문

DEV&OPS/Java

세션 Session

ALEPH.GEM 2022. 6. 14. 15:10

세션은 클라이언트 마다 개별적으로 생성되어 클라이언트의 브라우저를 종료할 때까지 서버쪽에서 그 객체(정보)를 유지합니다.

 

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