Quelle est la différence (le cas échéant) entre le stockage d'une variable dans le ServletContext et son simple appartenance à un membre public statique de l'une des classes?Portée du contexte de servlet par rapport à la variable globale
Au lieu d'écrire:
// simplified (!)
int counter = (Integer)getServletContext().getAttribute("counter");
counter++;
this.getServletContext().setAttribute("counter", counter);
Pourquoi ne pas avoir simplement:
// in class MyServlet
public static int counter = 0;
// in a method somewhere
MyServlet.counter++;
(Ignorer les problèmes de concurrence, s'il vous plaît, cela est juste un exemple stupide)
D'après ce que je peux dire , ces deux options se comportent de la même manière sous Tomcat. Y a-t-il quelque chose de mieux à propos de l'utilisation de la première option?
pouvons-nous stocker de manière permanente la valeur dans pour un nom particulier, de sorte que l'accès suivant à ce paramètre donnera la valeur mise à jour, c'est-à-dire appel suivant de getServletContext(). GetInitParameters ("name"); donnera la valeur mise à jour qui a été faite par le dernier programme? –
Ars