2020.12.01 고급자바 session 세션 삭제하기

 <%@ 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>



<%

//JSP 문서에서는 'session' 이라는 이름으로 Session객체가 자동으로 생성되어 저장되어 있다. 

%>



 세션값(userName) : <%=session.getAttribute("userName") %> <br>

세션값(age) : <%=session.getAttribute("age") %>


</body>

</html>




----------------------------------------------------------------------------------------------------

session 삭제하기


1. 세션 객체 구하기


HttpSession session = request.getSession(); 


2.세션값을 개별적으로 삭제하기

형식) session객체.removeAttribute("삭제할key값");

세션에 저장된 데이터들 중에서 지정할 'key'값과 같은 Session값이 삭제된다. 

세션에 저장된 데이터들 중에서 지정할 'key값'과 같은 Session값이 삭제된다. 

//전 게시글에서 session 에 add하는 것이 있었다. 

session.removeAttribute("testSession"); 


3. 세션 전체 삭제하기

sesion.invalidate();

==> 세션 전체가 삭제된다. 


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("/sessionDeleteServlet.do")
public class SessionDeleteServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
       


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

           //session 객체 생성 

            HttpSession session = request.getSession();

            //전체 session 삭제 

            session.invalidate();

            

    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);
}

}










댓글