Heim >Java >javaLernprogramm >So implementieren Sie den Sitzungsstatus von Session in JAVA

So implementieren Sie den Sitzungsstatus von Session in JAVA

WBOY
WBOYnach vorne
2023-05-11 13:10:06702Durchsuche

Session wurde erfunden, um die Einschränkungen des HTTP-Protokolls zu überwinden. Bitte beachten Sie, wie das HTTP-Protokoll funktioniert: Der Benutzer stellt eine Anfrage und der Server antwortet. Die Verbindung zwischen dem Client und dem Server ist diskret und nicht kontinuierlich. Das HTTP-Protokoll bietet keine Funktionalität, die es dem Server ermöglicht, Benutzeranfragen zu verfolgen. Nachdem der Server die Antwort auf die Benutzeranfrage abgeschlossen hat, kann der Server keine Verbindung mehr mit dem Browser aufrechterhalten. Auf der Serverseite ist jede Anfrage unabhängig, daher gilt das HTTP-Protokoll als zustandsloses Protokoll. Wenn ein Benutzer zwischen mehreren Homepages wechselt, kann der Server seine Identität nicht kennen. Die Entstehung von Session soll diese Einschränkung ausgleichen. Mithilfe von Session können Sie die Informationen eines Benutzers speichern, wenn dieser zwischen mehreren Homepages wechselt. Dadurch werden viele Dinge, die vorher unmöglich waren, viel einfacher.
Während des Zeitraums vom Eintreffen eines Besuchers auf einer bestimmten Homepage bis zu seinem Verlassen erhält jeder Besucher eine separate Sitzung.
Java Servlet definiert eine HttpSession-Schnittstelle, um die Funktion von Session zu implementieren:
(1) Verwenden Sie die getSession-Methode von HttpServletRequest, um die aktuell vorhandene Sitzung abzurufen ist derzeit keine Sitzung definiert, dann erstellen Sie eine neue Sitzung, und Sie können auch die Methode getSession (true)
(2) verwenden, um die Sitzungsvariable zu schreiben. Sie können die Methode HttpSession.setAttribute(name, value) verwenden, um eine Information in der Sitzung zu speichern. Sie können auch HttpSession.putValue(name, value) verwenden, diese Methode ist jedoch veraltet.
(3) Sitzungsvariable lesen. Mit der Methode HttpSession.getAttribute(name) können Sie den Wert einer Variablen in der Sitzung lesen. Wenn name eine undefinierte Variable ist, wird null zurückgegeben. Es ist zu beachten, dass der aus getAttribute gelesene Variablentyp Object ist und eine erzwungene Typkonvertierung verwendet werden muss, zum Beispiel:
String uid = (String) session.getAttribute("uid");
Sie können Verwenden Sie auch HttpSession .getValue(name), aber diese Methode ist ebenfalls veraltet.
(4) Schließen Sie die Sitzung. Nachdem Sie die Sitzung verwendet haben, können Sie die Sitzung mit der Methode session.invalidate() schließen. Dies ist jedoch nicht unbedingt erforderlich. Weil die Servlet-Engine SESION nach einer gewissen Zeit automatisch schließt.
Das Folgende ist ein einfaches Beispiel, um die Verwendung von Sitzung zu veranschaulichen. 🎜🎜 #import javax.servlet.*;
import javax.servlet.http.*;
//Notwendige Softwarepakete importieren
public class SessionExample erweitert HttpServlet
{#🎜🎜 # public void doGet(HttpServletRequest request, HttpServletResponse Response)
throws IOException, ServletException //Implementieren Sie die doGet-Methode
{
response.setContentType("text/html"); //Setzen Sie den HTTP-Header# 🎜 🎜#PrintWriter out = Response.getWriter(); //Ausgabe abrufen 97gan
HttpSession session = request.getSession(true);
//Sitzungsobjekt abrufen
//HTML-Markup drucken# 🎜 🎜#out.println("");
out.println("");
out.println("");
out.println("");
out.println("") ;
Erstelltes Datum = neues Datum(session.getCreationTime());
//Erhalten Sie die Zeit, zu der das Sitzungsobjekt erstellt wurde
Zugriffsdatum = neues Datum(session.getLastAccessedTime());
//Letztes Mal auf das Sitzungsobjekt zugreifen
out.println("ID " + session.getId()+"
");
//Sitzung abrufen id und drucken Sie es aus accessed+"< br>");
//Zeitpunkt des letzten Zugriffs drucken
session.setAttribute("UID","12345678");
//Variable UID=12345678#🎜 hinzufügen 🎜# in der Sitzung session.setAttribute("Name","Tom");
//Variablen in der Sitzung hinzufügen Name=Tom
Enumeration e = session.getAttributeNames();
//Get Variablen im Sitzungsnamen-Aufzählungsobjekt
while (e.hasMoreElements()) { //Jede Variable durchlaufen
String name = (String)e.nextElement(); //Name zuerst abrufen
String value = session.getAttribute(name).toString();
//Erhalten Sie den Wert von 97gan nach Name
out.println(name + " = " + value+"
"); / /Print
}
out.println(""); //HTML-Tag drucken
out.println("");#🎜🎜 # }
}
}

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Sitzungsstatus von Session in JAVA. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen