Connetionless
HTTP 프로토콜은 클라이언트의 요청에 대한 응답을 하고 나면 해당 클라이언트와의 연결을 지속하지 않는다.
Session / Cookie
주소에 정보를 실어 보내지 않아도 데이터들을 기억하기 위해 사용한다.
Cookie
생성된 쿠키는 클라이언트의 웹브라우저에 저장한다.
ID기억으로 다음에 접속시 별도의 절차없이 빠르게 연결 가능하다.
사생활 침해의 문제가 있다.
사용되는 예 : 팝업창의 오늘 하루 창 띄우지 않음, 새로고침 조회수 늘리는걸 방지, 최근 본 목록 ...
쿠키 생성
Cookie cookie = new Cookie("쿠키명", 값);
cookie.setMaxAge(3); // 초단위
생성된 쿠키는 클라이언트의 웹 브라우저에 저장
response.addCookie(cookie);
쿠키 받아오기
특정 쿠키만을 가져오지 못하고, 모든 쿠키를 다 가져온다.
Cookie[] ar= request.getCookies();
쿠키 삭제
쿠키 삭제
ar[i].setMaxAge(0);
클라이언트에 쿠키를 삭제한 사실을 저장
response.addCookie(ar[i]);
Session
웹 서버쪽의 웹 컨테이너에 상태를 유지하기 위한 정보가 저장된다.
세션은 기본 시간이 1800초(30분) 이며 각 클라이언트 고유 Session ID를 부여한다.
Session ID로 클라이언트를 구분하여 각 클라이언트 요구에 맞는 서비스를 제공한다.
세션 생성
HttpSession session = request.getSession();
session.setMaxInactiveInterval(30*60);
** JSP에서는 session이 내장객체로 이미 있기 때문에 새로 생성하지 않아도 사용 가능하다.
세션 부여
session.setAttribute("세션명","값");
세션 얻어오기
session.getAttribute("세션명");
저장된 세션값을 가져올때 세션값은 String이 아니다. Object 타입으로 받아온다.
따라서 String 으로 받을 때는 (String) session.getAttribute("세션명"); 으로 변형시켜야 한다.
세션 삭제
session.removeAttribute(" 세션명 ");
모든 세션 삭제
session.invalidate();
'Web' 카테고리의 다른 글
WEB, MVC 란? (2) | 2024.10.16 |
---|---|
WEB, Connection Pool이란? (0) | 2024.09.10 |
WEB, JSP란? (0) | 2024.09.10 |
WEB, Servlet으로 DB에내용 저장/출력하기 (0) | 2024.09.10 |
WEB, Servlet이란? (0) | 2024.09.09 |