본문 바로가기

블로그

[요약] 뇌를 자극하는 JSP & Servlet 04. 쿠키와 세션

01.쿠키와 세션에 대하여

*웹 컴포넌트(JSP페이지+서블릿클래스)

쿠키 : 전달할 데이터를 웹 브라우저로 보냈다가 웹 서버 쪽으로 되돌려 받는 방법

세션 : 웹 브라우저를 거치지 않고 웹 서버에 있는 데이터 영역을 통해 데이터를 전달하는 방법

예전엔 쿠키 선호, 요즘엔 보안이슈 등으로 세션 선호


02.쿠키 기술 사용 방법


새로운 쿠키 데이터를 저장하는 방법 - 입력 기능

1)Cookie 클래스 생성

Cookie cookie = new Cookie("AGE","26");

     쿠키이름  쿠키값


2)addCookie 매서드 호출

response.addCookie(cookie);


쿠키 데이터를 읽는 방법 - 조회 기능

Cookie cookies[] = request.getCookies(); // 웹 브라우저가 보낸 모든 쿠키를 Cookie배열로 만들어서 리턴하는 메서드

String name = cookie.getName(); // 쿠키 이름을 가져오는 메서드

String value =  cookie.getValue(); // 쿠키 값을 가져오는 메서드


쿠키 데이터를 수정하는 방법 - 수정 기능

쿠키를 저장할 때와 마찬가지로 Cookie 객체를 만들어서 addCookie 메서드에 넘겨주면 됨.

브라우저세어 이름이 같으면 이전것 지우고 새로운 쿠키 저장함.


쿠키 데이터를 삭제하는 방법 - 삭제 기능

쿠키 수명을 0으로 설정하면 됨

쿠키 수명 설정법 : cookie.setMaxAge(3600);

쿠키를 바로 삭제하도록 : cookie.setMaxAge(0);

웹 브라우저가 끝날 때 쿠키가 삭제되도록 : cookie.setMaxAge(-1);


쿠키가 특정 경로명을 갖는 URL로만 전송되도록

cookie.setPath("/brain04/sub1/");


쿠키가 여러 웹서버로 전송되도록

cookie.setDomain(".hanb.co.kr");

    쿠키를 받을 도메인, 마침표로 시작.


03. 세션 기술의 사용 방법

세션 : 여러 웹 컴포넌트들이 협력 작업을 시작해서 끝내기까지의 기간.


서블릿 클래스에서 세션 기술을 사용하는 방법


HttpSession session = request.getSession();

세션을 시작하는 메서드


session.setAttribute("ID", "lee77"); // 세션에 데이터 저장

     데이터이름  데이터값


HttpSession session = request.getSession();

세션 정보를 가져오는 메서드


String str = (String) session.getAttribute("ID"); //세션 데이터 가져옴

캐스트(원래는 java.lang.Object)   데이터 이름


session.removeAttribute("ID"); //세션 데이터 삭제


session.invalidate(); //세션 끝냄


session.setMaxInactiveInterval(300);//세션의 타임아웃 기간을 설정하는 메서드(파라미터는 초 단위), 무한대 = -1


<%@page session = "false" %> // JSP페이지에서 세션 사용 X