세션에 대한 더 나은 설명을 살펴 보겠습니다.
세션은 세션입니다. 브라우저를 닫지 않고도 사용자 정보를 저장할 수 있는데, 이는 이러한 임시 물건을 저장하는 임시 컨테이너와 같습니다. 예를 들어 로그인하면 한 웹 페이지에서 다른 웹 페이지로 사용자 정보를 저장하면 세션을 사용하여 사용자 정보를 저장하여 웹 사이트 쇼핑 카트를 저장할 수 있으며 세션을 사용하여 구현할 수 있습니다.
세션이 필요한 이유
이것은 HTTP 프로토콜의 한계를 채우는 것입니다. 사용자가 페이지를 방문하면 서버가 요청을 반환합니다 (예 : 웹 페이지를 방문한 후 페이지는 페이지 컨텐츠 및 인터페이스 UI를 제공합니다)가 완료 되더라도 연결이 끊어집니다. 서버는 더 이상 클라이언트 (브라우저)의 작업 상태를 추적하지 않습니다. 따라서 HTTP의 각 요청은 독립적이고 연속적입니다. HTTP는 또한 상태없는 프로토콜이라고도합니다. 우리가 경우 또는 특정 프로세스에서 사용자 자체 데이터를 운영하려면 매우 번거롭고 위험합니다. 예를 들어 URL 매개 변수 전송을 통해 서버와 상호 작용하고 작업을 구현할 수 있습니다.
세션의 출현은이 문제를 해결합니다. 세션은 서버에서 생성되며 일정 시간 후에 서버에 의해 파괴됩니다. 이 기간 동안 클라이언트와 서버 간의 세션이 유지되며 클라이언트는 서버의 세션 정보를 사용하여 일부 데이터를 찾거나 작동합니다.
세션 사용 방법
Java API는 현재 세션과 관련된 세션을 얻는 방법 만 제공합니다.
httpsession session = request.getsession (); // httpsession session = request.getSession (부울);
값 설정 :
session.setattribute ( "키", 값 객체);
가치 얻기 :
개체 유형 obj = (객체 유형) session.getAttribute ( "key"); // 예를 들어, 문자열 이름 = (문자열) 세션 .getAttribute ( "key");
속성을 지정하려면 세션 삭제 :
session.removeattribute ( "키");
현재 세션을 완전히 무효화하기 위해 모든 세션을 지우십시오.
session.invalidate ();
세션 시간 초과 기간 설정
1. Tomcat 설치 위치 conf/web.xml :
<Session-Config> <Session-TimeOut> 30 </session-timeout> </session-config>
30 포인트
2. Tomcat 설치 위치 conf/server.xml :
<context path = "/test"docbase = "/test"defaultsessionTimeout = "3600"iswarexpanded = "true"iswarvalidated = "false"isinvokerenabled = "true"isworkDirpersistent = "false"/>
초 단위
3. Java 코드 설정 :
httpsession session = request.getsession (); session.setmaxinactiveinterval (1200);
0 포인트 :
기타 지침 :
1. 세션 만료 상태 :
1>. 클라이언트 브라우저 닫기 :
2>. 세션 세션이 만료됩니다.
3>. 클라이언트 세션은 .invalidate ()를 호출합니다.
2. 브라우저가 닫히고 세션이 여전히 존재하는지 여부;
클라이언트 브라우저가 닫히면 세션은 여전히 일정 시간 동안 서버에 존재합니다. 그러나 브라우저가 다시 열리면 새로운 세션이 생성됩니다. 브라우저는 생성 된 SessionID 속성을 통해 서버 세션과 일치합니다. 마지막 세션은 여전히 존재하지만 액세스 할 수는 없습니다.
3. < % @ page session = "false" %> 상황은 무엇입니까? :
이 문장의 의미는 현재 세션을 사용할 수 없지만 페이지 세션은 여전히 생성 될 수 있다는 것입니다.
4. 세션은 언제 생성됩니까?
프로그램이 httpservletrequest.getSession (true)을 호출 할 때 생성되었습니다. 페이지가 <%@ page session = "false"%>를 사용하지 않으면 JSP 페이지가 서블릿으로 컴파일되면 httpsession session = httpservletrequest.getSession (true);
요약
위의 것은 Java의 세션을 이해하는 것입니다. 모든 사람에게 도움이되기를 바랍니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!