Heim  >  Artikel  >  Java  >  Analyse von Sitzungsobjekten und Methodeninstanzen in Java

Analyse von Sitzungsobjekten und Methodeninstanzen in Java

WBOY
WBOYnach vorne
2023-05-13 22:01:041262Durchsuche

Das Sitzungsobjekt wird verwendet, um den Zugriffsstatus jedes Clients innerhalb des Sitzungsbereichs aufzuzeichnen, um den Betriebsstatus jedes Clients zu verfolgen. Die in der Sitzung gespeicherten Informationen können die gültigen Daten dieser Sitzungen abrufen, wenn der Browser nachfolgende Anforderungen stellt .

Sie können das Sitzungsobjekt (das integrierte Objekt von JSP) direkt auf der JSP-Seite verwenden oder das Sitzungsobjekt über pageContext.getSession() oder request.getSession zurückerhalten.

session kann Benutzerinformationen speichern und Funktionen wie Einkaufswagen implementieren.

HTTP-Protokoll ist ein zustandsloses Protokoll, und der Server sendet dann eine Antwort zurück. Der Server speichert daher keine relevanten Informationen über die Verbindung , der Server verfügt nicht über die gleichen Clientinformationen wie die vorherige Verbindung. Daher muss eine Sitzung zum Aufzeichnen von Informationen über die Verbindung verwendet werden.

Von dem Moment an, in dem der Client den Browser öffnet und eine Verbindung zum Server herstellt, bis zu dem Moment, in dem der Client den Browser schließt und den Server verlässt, wird dies als Sitzung bezeichnet. Wenn ein Client auf den Server zugreift, kann er oder sie wiederholt eine Verbindung zu mehreren Seiten auf dem Server herstellen, eine Seite wiederholt aktualisieren oder kontinuierlich Informationen an eine Seite übermitteln usw. Der Server sollte auf irgendeine Weise wissen, dass es sich um denselben Client handelt dann ist ein Sitzungsobjekt erforderlich.

Sitzung funktioniert wie folgt:

1 Wenn ein Client zum ersten Mal auf eine Seite auf dem Server zugreift, weist der Server dem Benutzer ein Sitzungsobjekt zu, gibt eine eindeutige ID für die Sitzung an und sendet die ID an den Client und Schreiben in das Cookie, um eine Eins-zu-Eins-Korrespondenz zwischen dem Client und der Serversitzung herzustellen

2 Wenn der Client weiterhin auf andere Ressourcen auf dem Server zugreift, weist der Server kein neues Sitzungsobjekt mehr zu der Client, bis der Client geschlossen wird, eine Zeitüberschreitung auftritt oder die invalidate()-Methode der Sitzung aufruft, um sie ungültig zu machen, endet die Sitzung zwischen dem Client und dem Server.

3. Wenn der Kunde den Browser erneut öffnet, um auf die Website zuzugreifen, weist der Server dem Kunden ein Sitzungsobjekt zu und weist die Sitzungs-ID neu zu.

Sitzungsobjekte werden hauptsächlich für Attributoperationen und Sitzungsverwaltung verwendet:

1. Legen Sie den Wert des Attributs fest Geben Sie den Namen an und legen Sie ihn fest. Dem Sitzungsbereich hinzugefügt. Wenn dieses Attribut im Sitzungsbereich vorhanden ist, ändern Sie den Wert des Attributs. public void setAttribute(String name,String value)设定指定名字的属性的值,并将它添加到session会话范围内,如果这个属性是会话范围内存在,则更改该属性的值。

2、public Object getAttribute(String name)在会话范围内获取指定名字的属性的值,返回值类型为object,如果该属性不存在,则返回null。

3、public void removeAttribute(String name),删除指定名字的session属性,若该属性不存在,则出现异常。

4、public void invalidate(),使session失效。可以立即使当前会话失效,原来会话中存储的所有对象都不能再被访问。

5、public String getId( ),获取当前的会话ID。每个会话在服务器端都存在一个唯一的标示sessionID,session对象发送到浏览器的唯一数据就是sessionID,它一般存储在cookie中。

6、public void setMaxInactiveInterval(int interval) 设置会话的最大持续时间,单位是秒,负数表明会话永不失效。

7、public int getMaxInActiveInterval()

2. public Object getAttribute(String name) Ruft den Wert des Attributs mit dem angegebenen Namen im Sitzungsbereich ab. Der Rückgabewerttyp ist Objekt. Wenn das Attribut nicht vorhanden ist, wird null zurückgegeben .

3. public void removeAttribute(String name), lösche das Sitzungsattribut mit dem angegebenen Namen. Wenn das Attribut nicht vorhanden ist, tritt eine Ausnahme auf.

4. public void invalidate(), macht die Sitzung ungültig. Die aktuelle Sitzung kann sofort ungültig werden und auf alle in der ursprünglichen Sitzung gespeicherten Objekte kann nicht mehr zugegriffen werden.

5. public String getId( ), ruft die aktuelle Sitzungs-ID ab. Jede Sitzung verfügt serverseitig über eine eindeutige Sitzungs-ID. Die einzigen vom Sitzungsobjekt an den Browser gesendeten Daten sind die Sitzungs-ID, die im Allgemeinen in einem Cookie gespeichert wird.

6. public void setMaxInactiveInterval(int interrupt) Legen Sie die maximale Dauer der Sitzung in Sekunden fest. Eine negative Zahl gibt an, dass die Sitzung niemals abläuft.

7. public int getMaxInActiveInterval(), erhalte die maximale Dauer der Sitzung.

8. Verwenden Sie die Methoden getCreationTime() und getLastAccessedTime() des Sitzungsobjekts, um die Zeit der Sitzungserstellung und des letzten Zugriffs zu erhalten. Im Allgemeinen müssen Sie die folgende Konvertierung verwenden, um das spezifische Datum zu erhalten und Zeit.

Date creationTime = new Date(session.getCreationTime());
Date accessedTime = new Date(session.getLastAccessedTime());
e

Mehrere häufig verwendete Methoden, um eine Sitzung zu erhalten 🎜🎜1. In struts2 🎜🎜 (1) 🎜
<%@ page language="java" import="java.util.*" contentType="text/html;charset=GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
🎜3 ee über ServletActionContext

Das obige ist der detaillierte Inhalt vonAnalyse von Sitzungsobjekten und Methodeninstanzen 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