초지
Jiyeon's IT note
초지
전체 방문자
오늘
어제
  • 분류 전체보기 (144)
    • JAVA (1)
    • 아두이노 (5)
    • HTML,CSS (0)
    • 데이터베이스 (0)
    • 자바 페스티벌 (29)
    • JSP (6)
    • 자바 스크립트 (15)
    • Maven Project (23)
    • jQuery (4)
    • Ajax (3)
    • 파이썬 (10)
    • 자바스프링 (9)
    • 안드로이드 (18)
    • 머신러닝 (5)
    • 라즈베리파이 (0)
    • 1차 프로젝트 (4)
    • 2차 프로젝트 (7)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
초지

Jiyeon's IT note

JSP

세션(Session)

2022. 5. 9. 09:37

▶ 세션(Session)

: 브라우저가 종료되기 전까지 클라이언트의 정보를 유지하게 해주는 기술

: 사용자 정보 파일을 서버 측에서 관리

 

▶ 세션(Session) 동작방식

클라이언트가 페이지요청(request)

해당 브라우저(클라이언트)에 유일한 ID(Session ID)를 부여

응답헤더에 Session ID를 포함해서 전송

쿠키에 Session ID 저장

이후 서버에 요청할 때 Session ID가 담긴 쿠키를 요청헤더에 추가하여 요청

Session ID를 확인하고 해당 세션에 관련된 정보를 확인한 후 응답

 

▶ Session 사용 예

로그인 같이 보안상 중요한 작업을 수행할 때 사용

 

▶Session 특징

각 client에게 고유 ID 부여

보안 면에서 쿠키보다 우수

사용자가 많아지면 서버 메모리 많이 차지하게 됨

 

▶Session  예시

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
	// 1. session 생성
	session.setAttribute("id", "cjy0611");
	session.setAttribute("age", "20");
	
	// 내장객체이기 때문에 별도로 생성할 필요가 없다.
	// 서버상에 데이터가 저장되기 때문에 응답하면서 다시 되돌려줄 필요가 없다.
	
	%>
	<a href = "ex03GetSession.jsp">세션 확인하기</a>
	<a href = "ex03AllSession.jsp">모든 세션 확인하기</a>



</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		// 1. session 정보 가져오기
		String id = (String)session.getAttribute("id");
		int age = Integer.parseInt((String)session.getAttribute("age")); 
		
		//WrapperClass : 기본 자료형을 클래스(객체) 형태로 만든 것
	%>
	
	<h1>ID : <%=id %></h1>
	<h1>AGE : <%=age %></h1>






</body>
</html>
<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		// 1. 모든 세션의 이름을 가져오기
		 Enumeration names= session.getAttributeNames();
		// 열거형 --> 가지고 올때 사용하기 편한 메소드들이 기본적으로 설계되어있다.
		// 		--> 객체들을 하나씩 처리하기에 용이함
		
		// 2. 키값에 맞는 데이터를 꺼내오기
		// 2-1) 데이터 유무부터 확인
		while(names.hasMoreElements()){
				
		// 2-2) 데이터(key, name값) 꺼내오기
		String name = (String)names.nextElement();
			
		// 2-3) session안에 있는 정보 가져오기
		String data = (String)session.getAttribute(name);
		out.print(data+"<br>");
		}

	%>
</body>
</html>

'JSP' 카테고리의 다른 글

게시판 실습 (MVC)  (0) 2022.05.24
JSP Servlet JDBC연결- <MVC Pattern> Model2 실습  (0) 2022.05.12
JSP Servlet JDBC연결- <MVC Pattern> Model1 실습  (0) 2022.05.11
JSP Servlet JDBC연결- <MVC Pattern>  (0) 2022.05.11
세션(Session) 실습  (0) 2022.05.09
    'JSP' 카테고리의 다른 글
    • JSP Servlet JDBC연결- <MVC Pattern> Model2 실습
    • JSP Servlet JDBC연결- <MVC Pattern> Model1 실습
    • JSP Servlet JDBC연결- <MVC Pattern>
    • 세션(Session) 실습
    초지
    초지

    티스토리툴바