/ / Wie viele Sitzungen können von einer Java-Anwendung in Struts 2 verwaltet werden? - Java, Session, Struts2, Aktionskontext

Wie viele Sitzungen können von einer Java-Anwendung in Struts 2 verwaltet werden? - Java, Sitzung, Struts2, actioncontext

Ich arbeite an der Transaction Management-Anwendung und verwende Struts2. Ich habe intern eine Sitzung zum Setzen und Abrufen von Werten wie verwendet

ActionContext.getContext().getSession().put("string", string);

Gibt es ein Limit oder einen Nachteil bei der Verwendung einer solchen Sitzung in der Anwendung?

Antworten:

2 für die Antwort № 1

Das Limit ist die Größe Ihres ComputersSie speichern keine dynamischen Werte in der Sitzung, da diese in der Zwischenzeit von jemandem geändert werden können. Speichern Sie daher nur die Werte in der Sitzung, die benutzerspezifische Daten oder statische Werte darstellen (d. h. die während der Sitzung nicht geändert werden).

Hinweis : statisch ist hier nicht statisch Stichwort .


2 für die Antwort № 2

Es gibt keine Begrenzung. Die Session in Struts 2 ist implementiert als Map um den Zugriff auf die Attribute der Servlet - Sitzung zu vereinfachen.

Ich habe geschrieben Dies Antworten:

Das SessionMap ist speziell für die Zwecke, wenn Sie entwickeltZugriff auf die Servlet-Sitzungsattribute haben möchten. Auf diese Weise kann der Benutzer eine synchronisierte Sammlung von Objekten in der Sitzung behalten und stattdessen verwenden HttpSession direkt.

Ich kenne nur einen Nachteil, wenn Sie die Sitzung aus dem Aktionskontext abrufen, wird sie möglicherweise zurückgegeben null. Die Lösung liegt in Dies Antworten.

Es gibt zwei Methoden, um eine Sitzungszuordnung für die Aktion abzurufen:

  1. Implementieren SessionAware. Standardmäßig wird die Sitzungszuordnung beim Aktionsaufruf aufgefüllt. Dies ist ein vorzuziehender Weg.
  2. Rufen Sie eine Sitzungsübersicht aus dem Aktionskontext ab. Auf diese Weise sollten Sie sicherstellen, dass die Anforderung vom Struts2-Filter verarbeitet wird.

Die erste Methode ist bevorzugtWie auf der Dokumentseite erläutert, können Sie eine Sitzung in Tests verwenden.


0 für die Antwort № 3

Es ist Ihre Größe des internen / physischen Speichers vondas System. In der Sitzung wird eine Singleton-Klasse in Ihrer Kriegsdatei erstellt. Die Kriegsdatei wird auf Ihrem Server gespeichert. Der Server befindet sich in Ihrem C: -Ordner in Windows. Die Sitzung hängt also von Ihrem physischen Gedächtnis ab.