Session 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>세션생성</h1>
<%
session.setAttribute("session1", "첫번째 세션" );
session.setAttribute("session2", 15);
%>
<a href = "ex02selectSession.jsp">세션 확인</a>
</body>
</html>
session 객체 생성
jsp에서는 객체 생성없이 바로 생성가능 ---------> 내장객체

session에 값 추가
setAttribute("세션이름", "(object)데이터");
Session 값 가져오기

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>세션 조회</h1>
<%
String value1=(String)session.getAttribute("session1"); // 첨에 빨간줄 뜬다
Integer value2= (Integer)session.getAttribute("session2");
out.print(value1+"<br>");
out.print(value2+"<br>");
%>
<a href="ex02deleteSession">세션 삭제</a>
<a href="ex02deletAllSession">세션 전체삭제</a>
</body>
</html>
session 객체 생성
---->jsp에서는 생략!!!
세션 가져오기----> getAttribute("세션이름");
세션을 저장할 때, Object으로 업캐스팅이 일어난다.
세션에서 값을 꺼내올 때, 다운캐스팅(명시적 형변환) 필요
String value1=session.getAttribute("session1"); -----> 이렇게만 쓰면 오류가 난다.
----->String value1=(String)session.getAttribute("session1") 다운캐스팅을 해줘야 오류가 사라짐!! 중요
NullPointerException : null 값이 허용되지 않는경우인다, null값이 들어간 상황
int,char,boolean --->기본자료형
기본자료형에는 null값을 담을 수 없음
int의 참조자료형 -----> Integer를 써준다
session에서 값을 가져올때, 기본자료형 대신 참조자료형
Integer value2 =(Integer)session.getAttribute("session2");----> 여기도 마찬가지로 다운캐스팅
Session 전체 삭제

package Controller;
import java.io.IOException;
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("/ex02deletAllSession")
public class ex02deletAllSession extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
session.invalidate();
response.sendRedirect("ex02selectSession.jsp");
}
}
세션 객체 생성 JSP에서만 생략!
세션 객체 생성
HTTPSession session = request.getSession();
전체 세션 삭제---> 잘 안씀 ..
session.invalidate();
Session 객체 삭제

package Controller;
import java.io.IOException;
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("/ex02deleteSession")
public class ex02deleteSession extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
session.removeAttribute("session1");
response.sendRedirect("ex02selectSession.jsp");
}
}
위랑 똑같이 우선
세션 객체 생성
HttpSession session = request.getSession();
세션 1개 삭제
removeAttribute("세션명");
session.removeAttribute("session1");



'JSP,Servlet' 카테고리의 다른 글
(스마트인재개발원) 1차 프로젝트 완성 및 발표 (0) | 2022.02.20 |
---|---|
JSP / 세션 혼자 복습 (0) | 2022.01.10 |
JSP - Cookie객체 생성/가져오기/ 삭제 / 개념 (0) | 2022.01.08 |
JSP/jdbc- 회원가입 실습문제 (0) | 2022.01.06 |
JSP - 회원가입/로그인 만들기 실습 (0) | 2022.01.05 |