Session 의 정의
: session은 여러 컴포넌트(WEB 컨테이너에 존재하는 페이지)들이 협력 작업을 시작해서 끝날때까지의 기간을 의미한다.
=> 데이터의 연속적 유지
서블릿 클래스에서 세션 사용방법
세션을 만드는 쪽
HttpSession session=request.getSesstion();
session.setAttribute("name","홍길동");
=> 키와 값을 부여
세션을 사용하는 쪽
HttpSession session=request.getSession();
String name=(String)session.getAttribute("name);
=> 키만 getAttribute로 구한다.
JSP에서 세션 사용
세션을 만드는 쪽
//내장 객체로서 세션 객체 바로(doGet()/ doPost()내에서)사용하면 됨
session.setAttribute("name","홍길동"); ==저장
세션을 사용하는 쪽
//내장 객체로서 세션 객체 바로 사용함
session.(String)session.getAttribute("name"); ==추출
세션의 주요 함수
✔ 세션 삭제
session.removeAttribute("key") ;
혹은 데이터 이름
선택한 것만 삭제
✔ 세션 종료
session.invalidate(); =전체 삭제 ==로그아웃
✔세션의 최대 비활성 기간
int timeout=session.getMaxInactiveInterval();
✔세션의 최대 비활성 기간 설정
int timeout=session.setMaxInactiveInterval(500);
🔥setMaxInactiveInterval은 회원가입할 때 기존에 입력했던 값들을 유지하기 위해서 사용하기도 한다.
세션 사용 약식 코드
각 코드는 join1~3까지 이메일 비번, 닉네임을 입력하게 한 다음 result에서 그 값이 나타나게 하는 것이다 그러기 위해서는 session이 필요하다.
join1.jsp에서 input에 값을 입력하면 name으로 join2.jsp에서 파라미터로 값을 가지고 와 session에 넣어준다.
이것도 똑같이 join2.jsp에서 입력한 비번 값을 name으로 파라미터값으로 가지고 와서 session에 넣어준다. 그러면 뒤로 가기를 해도 전에 입력한 값이 유지된다.
그러나 session.removeAttribute를 해주면 세션값이 지워져 유지가 되지 않는다.
session을 계속 납두면 느려지기 때문에 다 사용하면 지우는 것이 중요하다.
Session 처리 기술 정리
여러 웹 컴포넌트 데이터를 공유하는 방법이다.
연속적으로 페이지를 이동하면서 데이터를 유지할 때 유용하게 사용할 수 있다.
특정 페이지 접근을 제어할 때도 유용한다. => 어디 들어갈 때 로그인하라고 뜨는 경우 => 회원만 서비스 하겠다는 것
💥세션은 서버 측 자원이라 지우지 않고 많이 사용한다면 서버의 지연을 발생시킨다. 따라서 삭제를 잘하는 것이 중요하다.
'JSP' 카테고리의 다른 글
Expression 언어 (0) | 2021.10.07 |
---|---|
Error Exception 처리 방법 (0) | 2021.10.07 |
Cookie 처리 기술 (0) | 2021.10.04 |
JSP 라이프 사이클 (0) | 2021.09.29 |
JSP 페이지 (0) | 2021.09.29 |
댓글