Was ist der Unterschied zwischen dem Speichern einer Variablen im ServletContext und dem bloßen Speichern als statisches Mitglied einer der Klassen?Servlet-Kontext und globale Variable
Statt zu schreiben:
// simplified (!)
int counter = (Integer)getServletContext().getAttribute("counter");
counter++;
this.getServletContext().setAttribute("counter", counter);
Warum nicht einfach haben:
// in class MyServlet
public static int counter = 0;
// in a method somewhere
MyServlet.counter++;
(Concurrency Probleme ignorieren, bitte, das ist nur ein stummes Beispiel)
Von dem, was ich sagen kann, Diese beiden Optionen verhalten sich unter Tomcat auf die gleiche Weise. Gibt es etwas besseres über die erste Option?
können wir den Wert in für einen bestimmten Namen dauerhaft speichern, sodass der nächste Zugriff auf diesen Parameter den aktualisierten Wert ergibt, d. H. Nächsten Aufruf von getServletContext(). GetInitParameters ("name"); gibt den aktualisierten Wert, der vom letzten Programm gemacht wurde? –
Ars