Smarteer Suppoters/Study

[국비지원무료교육] JSP&Servlet - 쿠키와 세션 (Iot 과정, 스마트인재개발원)

제쿵 2022. 2. 9. 14:28
HTTP 프로토콜은 비 연결지향형 통신,
사용자의 정보를 지속적으로 확인하기 위해 쿠키와 세션을 사용한다.

쿠키는 맛있다

 

 

jsp 파일은 이렇게 작성했다.

 

 

1. 쿠키(Cookie)

쿠키는 서버에서 사용자의 pc에 저장하는 작은 정보 파일이다. 

Ex01Cookie.jsp

 

1. 쿠키 객체 생성

Cookie cookie = new Cookie("NewCookie","jek");

 

2. 쿠키 수명 설정

아래 코드에서 쿠키의 수명시간은 24시간이다.

24 * 60 * 60초 

cookie.setMaxAge(24*60*60);

 

3. 쿠키 추가

reponse객체의 addCookie()메소드를 사용해서 쿠키를 추가해준다.

response.addCookie(cookie);

 

저번시간에 선생님과 chrome에서 쿠키 확인하려고했는데, 뜨는 사람도 있고 안뜨는 사람도있어서

이번에 방안을 모색해오셨다.

 

https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg/related?hl=ko

 

EditThisCookie

EditThisCookie는 쿠키 관리자입니다. 이것을 이용하여 쿠키를 추가하고, 삭제하고, 편집하고, 찾고, 보호하거나 막을 수 있습니다!

chrome.google.com

 

이걸 깔고 위 코드들을 실행시키면 

 

이렇게 쿠키가 생성된 것을 확인할 수 있었다.

 

 

Ex02Cookie.jsp

 

1. 쿠키 객체를 가져온다.

모든 쿠키 객체를 가져오는데 여러개 일 수 있다.

배열로 받아준다.

Cookie[] cookies = request.getCookies();

 

2. 쿠키 객체에 담긴 값들을 알아낸다.

for(int i=0; i<cookies.length; i++)
		{
			out.print(cookies[i].getName() + "<br>");
			out.print(cookies[i].getValue() + "<br>");
		}

쿠키 이름과 값을 출력해보았다.

 

 

 

Ex03Cookie.jsp

 

1. 삭제하고 싶은 쿠키 이름을 대상으로 쿠키 객체를 생성한다.

Cookie cookie = new Cookie("NewCookie","");

 

 

2. 쿠키의 수명을 0으로 설정한다.

cookie.setMaxAge(0);

 

 

3. 쿠키를 추가하여 갱신한다.

response.addCookie(cookie);

 

 

2. 세션(Session)

 

세션은 서버상에 존재하는 객체이다. 웹페이지를 닫기 전까지 유지된다.

 

Ex01Session.jsp

 

1. 세션 데이터를 생성한다. session은 내장 객체이기 때문에 바로 사용가능하다.

session.setAttribute("NewSession", "jek");

 

 

Ex02Session.jsp

 

1. 세션값을 문자열 변수 str에 대입한다.

session의 getAttribute()의 리턴값은

자바의 최상위 객체인 object 이기 때문에

String형으로 형변환이 필요하다.

String str = (String)session.getAttribute("NewSession");

NewSession data : <%=str %>

 

스크립틀릿 영역 바깥쪽에 세션값이 잘 출력되는지 확인했다.

 

만약 앞서 Ex01Session.jsp 실행하고 브라우저를 껐다면

가져올 수 있는 세션값이 없기 때문에 null이 출력된다.

세션은 브라우저 창을 끄지 않았을 때만 유효하다.

 

 

Ex03Session.jsp

 

1. 세션 삭제

session.removeAttribute("NewSession");

removeAttribute() 메소드를 이용해 삭제한다.

 

 

 

 

3. 쿠키(Cookie)와 세션(Session)의 차이점

쿠키와 세션의 작동원리는 같다.

결국 세션도 쿠키를 사용하기 때문이다.

가장 큰차이점은 저장 위치이다.

 

저장위치

 

쿠키 : 사용자의 PC에 저장

세션 : 서버에 저장된다.

 

 

보안성

 

쿠키 : 사용자의 PC에 저장되므로 보안성 낮다.

세션 : 서버에 저장되기 때문에 보안성이 높다.

 

 

자원

 

쿠키 : 사용자의 pc에 저장되어있기 때문에 서버에 별다른 자원을 요구하지 않는다. 

세션 : 사용자 수가 많으면 많을수록 서버 자원을 소모한다.

 

 

속도

 

쿠키 : 사용자 PC에 정보가 있기 때문에 속도가 더 우수하다.

세션 : 서버에서 처리가 요구되므로 쿠키보다 느리다.

 

 

3. 그럼에도 쿠키를 쓰는 이유

서버의 자원은 한정되어있기 때문에

쿠키와 세션을 적절한 기능에 맞게 사용하여 자원의 낭비를 막는다.

 

 

 

 

 

 

이번 프로젝트에서 다시 조장을 맡았다.

아무도 모르는 조에 떨어지는 것 보다

내가 주가 되어 아는 사람과 함께하는게 낫다고 생각했다.

 

미니프로젝트보다 자세한 단계의 기획에서

조금은 정신이 없지만

많은 소통이 있었으면 좋겠다.

 

 

 


 

https://www.smhrd.or.kr/

 

스마트인재개발원

4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관

www.smhrd.or.kr