멀리 보는 연습

Session_세션란 언제 어디서 왜 쓰이는 것일까? 본문

Study/JSP&Servlet

Session_세션란 언제 어디서 왜 쓰이는 것일까?

푸실리 2021. 7. 25. 17:42

 

 

 

 

 

 

 

Cookie_쿠키란 언제 어디서 왜 쓰이는 것일까?(광주 직업학교)

인터넷을 사용해본 경험이 있다면 누구나 들어봤을 용어, 바로 쿠키! 쿠키를 삭제해본 경험은 누구나 한 번씩 있을 것이라고 생각한다. 그런데 이 쿠키가 무엇인지, 언제 어디서 왜 쓰는지 궁금

sunnyroad.tistory.com

 

저번 포스팅에서는 쿠키에 대해서 알아보았는데, 이 쿠키는 치명적인 단점이 존재한다. 바로, 정보를 클라이언트의 컴퓨터에 저장한다는 점이다. 이 말은 공용 컴퓨터에서 내 정보를 입력해두면 이 공용 컴퓨터에 접근한 누구나 내 정보를 취할 수 있다는 말이다. 요즘처럼 개인정보에 민감한 시대에 얼마나 위험한 일인지..

 

 

그래서 이러한 쿠키의 치명적 단점을 보완하고자 나온 것이 바로 세션이다. 세션은 쿠키와 다르게 JSP(서버)에서만 접근이 가능해서 보완 유지에 탁월하다. 또한 저장할 수 있는 데이터 크기의 한계도 없다. (쿠키는 한계가 있음) 

 

 

 

 

그렇다면! 이러한 세션의 장점을 가장 잘 활용할 수 있는 곳은 어딜까? 바로 로그인 기능이다. 나의 소듕한 비밀번호를 안전하게 지켜줄 세션은 내 정보를 서버에 안전하게 저장하면서, 회원 전용 페이지를 맘껏 오갈 수 있다. 

 

 

 

그러나 세션의 단점 아닌 단점은 이 세션은 한 브라우저에서만 적용이 된다는 것이다. 만약 웹 브라우저를 새롭게 띄웠다면 로그인 또한 새로 해줘야 한다. 

 

 

 

 

** 세션 만들기

		response.setContentType("text/html; charset=euc-kr");
		PrintWriter out = response.getWriter();
		out.print("세션 만들기");
		
		// 세션 객체 선언
		HttpSession session = request.getSession();
		
		//session 만들기
		session.setAttribute("id", "tistory");
		session.setAttribute("id2", "tistory2");

 

** 세션 보기

	<%
		//session은 Object 객체
	// DTO, ArrayList, DAO 등 모든 자료형을 담을 수 있다.
	String id = (String) session.getAttribute("id");
	String id2 = (String) session.getAttribute("id2");
	%>
	제가 만든 세션의 값은	<%=id%>입니다.<br>
	제가 만든 세션의 값은	<%=id2%>입니다.

 

 

** 세션 삭제

		// session 삭제
		HttpSession session = request.getSession();

		// 특정 session 삭제
		session.removeAttribute("id");

		// 전체 session 종료
		session.invalidate();

		response.sendRedirect("showSession.jsp");

 

 

Comments