> Java > java지도 시간 > JAVA에서 Session의 세션 상태를 구현하는 방법

JAVA에서 Session의 세션 상태를 구현하는 방법

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2023-05-11 13:10:06
앞으로
735명이 탐색했습니다.

Session은 HTTP 프로토콜의 한계를 채우기 위해 고안되었습니다. HTTP 프로토콜의 작동 방식에 유의하세요. 사용자가 요청하면 서버가 응답합니다. 클라이언트와 서버 간의 연결은 개별적이고 비연속적입니다. HTTP 프로토콜은 서버가 사용자 요청을 추적할 수 있는 기능을 제공하지 않습니다. 서버가 사용자 요청에 대한 응답을 완료한 후에는 브라우저와의 연결을 계속 유지할 수 없습니다. 서버 측에서 각 요청은 독립적이므로 HTTP 프로토콜은 사용자가 여러 홈페이지 간에 전환할 때 서버가 그의 신원을 알 수 없습니다. Session의 등장은 이러한 한계를 보완하기 위한 것입니다. 세션을 사용하면 사용자가 여러 홈페이지 사이를 전환할 때 사용자 정보를 저장할 수 있습니다. 이로 인해 이전에는 불가능했던 많은 일이 훨씬 쉬워졌습니다.
방문자가 특정 홈페이지에 접속한 후부터 나갈 때까지의 기간 동안 각 방문자는 별도의 세션을 받게 됩니다.
Java Servlet은 Session의 기능을 구현하는 HttpSession 인터페이스를 정의합니다. Servlet에서 Session을 사용하는 과정은 다음과 같습니다.
(1) 현재 세션이 정의되어 있지 않은 경우 HttpServletRequest의 getSession 메소드를 사용합니다. , 새 세션을 생성하면 getSession(true)
(2) 메서드를 사용하여 세션 변수를 작성할 수도 있습니다. HttpSession.setAttribute(name, value) 메소드를 사용하여 세션에 정보를 저장할 수 있습니다. HttpSession.putValue(name, value)를 사용할 수도 있지만 이 메서드는 더 이상 사용되지 않습니다.
(3) 세션 변수를 읽습니다. HttpSession.getAttribute(name) 메소드를 사용하여 세션의 변수 값을 읽을 수 있습니다. name이 정의되지 않은 변수인 경우 null이 반환됩니다. getAttribute에서 읽은 변수 유형은 Object이고 강제 유형 변환을 사용해야 합니다. 예를 들어:
String uid = (String) session.getAttribute("uid");
HttpSession.getValue(name)도 가능합니다. 하지만 이 방법 역시 시대에 뒤떨어진 방법이다.
(4) 세션 닫기 세션을 사용한 후 session.invalidate() 메서드를 사용하여 세션을 닫을 수 있습니다. 그러나 이것이 반드시 요구되는 것은 아닙니다. 왜냐하면 Servlet 엔진은 일정 시간이 지나면 자동으로 Seesion을 닫기 때문입니다.
다음은 session
//97colorcolorSessionExample.java
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet 사용을 보여주는 간단한 예입니다. .http .*;
//필요한 소프트웨어 패키지 가져오기
public class SessionExample은 HttpServlet을 확장합니다
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException //doGet 메서드 구현
{
response.setContentType( "text/ html"); //HTTP 헤더 설정
PrintWriter out = response.getWriter(); //출력 가져오기 97gan
HttpSession session = request.getSession(true);
//세션 개체 가져오기
// HTML 마크업을 인쇄하세요
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
생성 날짜 = 새 날짜(session. getCreationTime());
/ /세션 객체가 생성된 시간을 가져옵니다
Date access = new Date(session.getLastAccessedTime());
//세션 객체가 마지막으로 액세스된 시간을 가져옵니다
out.println(" ID " + session.getId()+"< br>");
//세션 ID를 가져오고 인쇄
out.println("Created: " +created+"
");
//인쇄 세션 생성 시간
out.println("마지막 액세스: " + 액세스+"
");
//마지막 액세스 시간 인쇄
session.setAttribute("UID","12345678");
//변수 추가 UID=12345678 in session
session.setAttribute(" Name", "Tom");
//변수 추가 Name=Tom in session
Enumeration e = session.getAttributeNames();
//변수 이름의 열거 객체 가져오기 session
while (e.hasMoreElements()) { //각 변수를 탐색합니다
String name = (String)e.nextElement(); //이름을 먼저 가져옵니다
String value = session.getAttribute(name).toString();
//97gan에서 이름으로 값 가져오기
out.println(name + " = " + value+"
") //인쇄
}
out.println("") / /HTML 태그 인쇄
out.println(" ");
}
}
}

위 내용은 JAVA에서 Session의 세션 상태를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿