티스토리 뷰

JSP

JSP_세션(session)

김판다 2021. 4. 22. 16:49
WEB session 
-TCP에서 지속적인 연결의 개념을 사용하게 되면 서버에 부하가 발생한다
>비 연속적으로 서버에 접근하는 웹 클라이언트를 구분하기 위해 WEB Session을 사용한다.
session이 하는 역할
-인증하기 위한 정보
-웹 브라우저(클라이언트)가 맨 처음 웹 서버에 접근 시 세션을 웹 서버가 생성하여 웹 브라우저로 전달
-웹 브라우저는 앞으로 웹 서버에 접근 시마다 웹 서버가 전달해준 세션을 담아서 요청한다.
-웹 서버는 웹 브라우저가 요청에 담겨 있는 세션을 확인하여 여러 웹 브라우저를 식별한다.

 

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%
    /*
        세션에 데이터를 저장할 때 사용하는 메소드
        session.setAttribute(이름, 데이터)
    */
    session.setAttribute("id""test");
    session.setAttribute("hobbys"new String[]{"멍때리기","독서"});
    
    /*
        세션의 유효시간 설정 메소드(기본 세션 유효시간: 1800초)
        session.setMaxInactiveInterval(초);
    */
    session.setMaxInactiveInterval(60*60);
    
%>
 
    <a href="exam1_session_check.jsp">세션 확인하기</a>
 
cs

exam1_session_make.jsp페이지


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<%
    /*
        세션에 저장된 데이터를 갖고 오는 메소드
        session.getAttribute(이름);
    */
    String id = (String)session.getAttribute("id");
    String[] hobbys = (String[])session.getAttribute("hobbys");
        
   out.print(id + "<br>");
    out.print(Arrays.toString(hobbys)+"<br>");
        
    //세션의 유효시간 확인
    out.print("<br>세션의 유효시간<br>");
    int sessionTime = session.getMaxInactiveInterval();
    out.print(sessionTime + "초<br>");
        
    //특정 세션 삭제하기
    session.removeAttribute("id");
        
    id = (String)session.getAttribute("id");
    hobbys = (String[])session.getAttribute("hobbys");
        
    out.print("<br>"+ id + "<br>");
    out.print(Arrays.toString(hobbys)+"<br>");
    
    //모든 세션을 삭제
    session.invalidate();
 
%>
cs

 

exam1_session_check.jsp페이지

 

session과 cookie는 비슷하지만 F12로 들어가서 본다면 cookie와의 차이점을 알 수 있다.

쿠키는 파일에 데이터가 저장이 되어서 개인정보를 담기에는 민감한 부분이 있다.

하지만 session에서는 파일에 저장되지 않고 웹 브라우저라는 프로그램에 저장이 되기때문데 브라우저 종료시 세션 정보도 함께 삭제가 된다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함