2020.12.01 고급자바 SessionAdd 세션 만들기 , 저장하기

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>



댓글