
세션은 접속할때마다 갱신 / 값을 재발급 받음

쿠키 유효기간은 활동안해도 상관없음
하지만 세션 유효기간 일정시간동안 활동X 접속X 세션이 만료되었습니다! 게임에서 자주봄

Session 의 데이터 타입은 Object --> 최상위 Class (자바의 모든객체를 저장 가능)
-> 모든 자바 객체가 상속받음
->단 저장할때 Object 클래스로 저장하기 때문에 반드시 업캐스팅 현상발생
-> 우리가 꺼내서 쓰려면 다운캐스팅 발생
ex String -> 넣어서 쓰러면 다운캐스팅 해줘야하기 때문에 (String)

쿠키보다 과정이 2개 많다 !!
쿠키보다 세션이 느림 (쿠키가 더빠름 --> 이게 아직까지 쿠키를 사용하는 이유)
세션 객체 생성
JSP에서는 내장객체 때문에 객체 생성없이 바로 사용가능!!
세션 값 추가 ====>setAttribute("세션이름", "(Object)데이터")
session.setAttribute("session1","첫번째 세션");
session.setAttribute("session2", 15);
세션도 자바코드로 작성!!! 쿠키와 마찬가지
세션 가져오기====>session.getAttribute("세션이름");
세션은 쿠키와 달리 하나하나 가져오는게 가능 !
session.getAttribute(session1);
====> 세션1은 첫번째 세션이 담겨있으니깐 String
String value1 = session.getAttribute(session1);
====> 이러면 오류뜸
세션에서 값을 꺼내올때는 다운 캐스팅(명시적 형변환)
====>String value1 = (String)session.getAttribute(session1);
session.getAttribute("session2");
====>세션2는 15 가 담김 int형
int value2 = (int)session.getAttribute("session2");
====> 이거 삭제 될때 오류뜸!! ====> NullPointerException :null값이 허용되지 않는 경우인데 null값이 들어간 경우 ====> int, char, boolean ====> 기본자료형 ====> 기본자료형에는 null값을 담을수 없음====>int 대신 int참조자료형 Integer사용 / Intger value2 = (Intger)session.getAttribute("session2");
출력
out.print(value1+"<br>")
out.print(value2+"<br>")
form이나 a href로 서블릿으로 이동시킬때 .jsp 절대 안붙임 !!!
서블릿에서는 session 객체를 생성해야한다 !!!! ====> jsp에서만 객체 생성 생략하는거임
서블릿에서 session객체를 생성할려고 하면
HttpSession 자동완성해라 !!
HttpSession session = request.getSession(); ====> 세션은 쿠키랑 다르게 웹페이지에 있는 정보를 받아와야기 때문에 request.getSession();
세션 1개 삭제 ====> removeAttribute("세션이름")
session.removeAttribute("session1")
====> 세션 1만 지움
확인하려면
response.sendRedirect("출력하는페이지로") 세션 가져오는곳으로
세션은 크롬브라우저를 닫은 순간 사라짐
쿠키를 삭제하면 아예 없어짐 / 세션을 삭제하면 null
세션 전체 삭제
세션 객체 생성
1. HttpSession session = request.getSession();
전체 삭제 메서드
session.invalidate();
'JSP,Servlet' 카테고리의 다른 글
(스마트인재개발원) 1차 프로젝트 완성 및 발표 (0) | 2022.02.20 |
---|---|
JSP - Session객체 생성/가져오기/ 삭제 (0) | 2022.01.08 |
JSP - Cookie객체 생성/가져오기/ 삭제 / 개념 (0) | 2022.01.08 |
JSP/jdbc- 회원가입 실습문제 (0) | 2022.01.06 |
JSP - 회원가입/로그인 만들기 실습 (0) | 2022.01.05 |