JAVA 쿠키 및 세션

쿠키 및 세션


대화

  세션 : 세션은 여러 요청과 응답을 포함한다

  기능 : 다시 한번, 데이터 공유 세션에 대한 더 많은 요청 사이의 범위

  방법 : 클라이언트 회화 기법 : 쿠키

      서버 측 페인팅 기술 : 세션


쿠키의 특징 및 역할

  쿠키 데이터는 클라이언트 브라우저에 저장됩니다

  4킬로바이트의 크기 제한에 대한 쿠키 브라우저, 같은 도메인 쿠키 아래의 수 이상 (20)

  쿠키는 일반적으로 소량의 구분없이 데이터를 저장하는 데 사용

  서버에 로그인이없는 경우 클라이언트 식별을 완료


운영 쿠키

  1. 쿠키 객체를 생성 : 새로운 쿠키 (문자열 이름, 문자열 값)

  2. 브라우저에 쿠키 객체를 보내기 : response.addCookie (쿠키 쿠키를)

  3. 获取 쿠키 : 쿠키 [] request.getCookes ()를 ()

  

보호  무효 의 doPost (HttpServletRequest의 요청, HttpServletResponse를 응답) 가 발생 ServletException을, IOException가 {
         // 创建쿠키 
        쿠키 쿠키 = 새로운 쿠키를 ( "쿨", "안녕하세요" );
        // 发送쿠키 
        response.addCookie (쿠키); 
    }
 보호  공극 의 doPost (HttpServletRequest의 요청은 HttpServletResponse를 응답) 발생 ServletException을 IOException을 {
         // 얻기 쿠키 
        의 쿠키 [] = 쿠키 request.getCookes ()를 ();
         // 쿠키에 데이터를 통해 
        IF (= 쿠키!의 ) {
             (C 쿠키 : 쿠키는 
                 ) { 
                // 가져 오기 쿠키 값 쌍 건너 
                문자열 이름 = ; c.getName () 
                문자열 값 = ; c.getValue () 
                에서 System.out.println (이름 : + ""+ ; 값) 
            } 
        }
    }

쿠키의 다른 지식 

1. 하나의 쿠키는 여러 개체를 만들 수 있습니다, 여러 개의 쿠키를 보낼 수 있습니다, 여러 번에 대해 addCookie 방법은 쿠키 응답 호출을 보내는 데 사용할 수 있습니다.

 

2. 기본적으로 브라우저를 닫을 때, 쿠키 데이터를 파괴한다

  영구 저장 setMaxAge에 의해 완성 (INT 초) 

   양 : 쿠키 데이터는 하드 디스크의 파일에 기록됩니다. 영구 저장. 그리고 시간이 지나면 쿠키 생존 시간을 지정, 쿠키 파일이 자동으로 소멸
   기본값 : 마이너스
   제로를 : 쿠키 정보를 삭제

 

3.Cookie 지원 중국어 톰캣 (8) 후, 이전에 필요한 트랜스 코딩 중국 데이터 경우 지원되지 않습니다

 

같은 Tomcat 서버의 기본 쿠키으로 4. 공유 할 수 없습니다

  setPath (문자열 경로) 작성자 : 쿠키 수집의 범위를 설정합니다. 기본적으로 현재 가상 디렉터리 설정

    공유하려는 경우, 당신이 경로를 설정할 수 있습니다 "/"로

 

  다른 Tomcat 서버 사이

  setDomain (문자열 경로) 작성자 : 당신이 동일한 도메인 이름을 설정하면, 쿠키는 여러 서버간에 공유 할 수 있습니다


 세션 기능과 쿠키와 차이

  현재의 세션 요청 내에 복수 회 서버 측 세션 데이터를 기억

  세션은 모든 크기의 모든 유형의 데이터를 저장할 수

  

세션 쿠키의 차이 

서버 측 (1)에 저장된 데이터는 세션 쿠키 클라이언트
없이 데이터 사이즈 제한 2 세션 쿠키가
3 세션 데이터 보안 쿠키 불안전 존중


 

세션 작업

  1.获取의 HttpSession对象:
      HttpSession이 세션 = request.getSession ();
  2.使用의 HttpSession对象:
      객체의 getAttribute (문자열 이름)
      무효의 setAttribute (문자열 이름, 개체 값)
      무효 removeAttribute (문자열 이름)

 보호  공극 의 doPost는 (HttpServletRequest 요청, HttpServletResponse 응답) 발생 {ServletException을, IOException가 
        HttpSession이 세션 = request.getSession (); 
        session.setAttribute ( "HH", "hhhhhhh" ); 
    }
보호  공극 의 doPost는 (HttpServletRequest 요청, HttpServletResponse 응답) 발생 {ServletException을, IOException가 
        HttpSession이 세션 = request.getSession (); 
        개체 HHHH = session.getAttribute ( "HH" ); 
        에서 System.out.println (HHHH); 
    }

세션의 다른 지식

  클라이언트가 닫히면 1. 서버가 두 번 같은인지 세션을 획득, 종료하지 않는 이유는 무엇입니까?
      기본적으로. 아니오.
      같은 필요한 경우, 당신은 쿠키를 만들 수 있습니다, 키가 JSESSIONID가, 저장 쿠키 지속성에 대한 최대 생존 시간을 설정합니다.

보호  공극 의 doPost는 (HttpServletRequest 요청, HttpServletResponse 응답) 발생 {ServletException을, IOException가 
        HttpSession이 세션 = request.getSession (); 
        
        쿠키 C = 새로운 쿠키 ( "JSESSIONID" , session.getId ()); 
        c.setMaxAge ( 60 * 60 ); 
        response.addCookie (c); 
    }

  

  2. 클라이언트가 서버를 종료, 종료되지 세션이 두 번 같은 권리를 얻는 것입니다?
    동일하지,하지만 데이터를 확인하기 위해 손실되지 않습니다. Tomcat은 자동으로 다음 달성
    패시 세션 :
      서버는 일반적으로 하드 디스크에 세션 객체 직렬화 전에 폐쇄
    세션 활성화 :
      서버 메모리에 세션 객체에 대한 세션의 파일 변환을 개시 한 후.

  

  때 3. 세션이 파괴된다?
     서버가 종료
     무효화 ()를 호출하는 세션 객체를 
     30 분 세션 기본 만기 시간을

추천

출처www.cnblogs.com/viperqy/p/11606064.html