2009-06-17 6 views
0

en asp il y a un objet d'application, qui est comme la session, mais il est partagé entre toutes les sessions ...Quel est l'équivalent de l'objet d'application java?

http://msdn.microsoft.com/en-us/library/ms525360.aspx

Vous pouvez utiliser l'objet Application pour partager des informations entre tous les utilisateurs d'une application donnée . Une application ASP est définie comme tous les fichiers .asp dans un répertoire virtuel et ses sous-répertoires. Étant donné que l'objet Application peut être partagé par plusieurs utilisateurs, il existe des méthodes Lock et Unlock pour garantir que plusieurs utilisateurs n'essaient pas de modifier une propriété simultanément.

J'utilise cet objet pour implémenter un cache simple, pour les petits ensembles de données ...

Quel est équivalent java/jsp?

merci beaucoup ...

Répondre

1

ServletContext est similaire à la applicationObject. Vous pouvez utiliser la méthode setAttribute pour ajouter des informations partagées par tous les utilisateurs. Depuis une servlet, vous pouvez appeler getServletContext() pour y accéder. Je ne suis pas sûr cependant si elle offre des fonctionnalités de verrouillage/déverrouillage.

Si vous utilisez Spring ou un autre conteneur IoC, vous pouvez facilement définir un bean accessible à tous les utilisateurs. Je suppose que c'est une meilleure solution pour les deux mondes.

+0

merci !, je vais essayer avant de prendre cette réponse comme correcte ... – opensas

0

Je connais deux façons d'accomplir cela dans JSP.

  1. Définir un haricot dans le champ d'application:

    < jsp: useBean id = "appCounter" class = "com.company.AppCounter" scope = "application"/>

  2. Créer une classe singleton. Example

+0

Les singletons doivent être évités dans les conteneurs JEE. – kgiannakakis

+0

Je ne pense pas que les singletons devraient être évités, mais utilisés avec soin. Évidemment, le meilleur choix est d'utiliser le contexte de servlet. Aussi, à l'avenir s'il vous plaît donner une explication lorsque vous faites des déclarations comme ça. –

+0

Consultez http://code.google.com/p/google-singleton-detector/ et http://www.artima.com/weblogs/viewpost.jsp?thread=213214. Ce n'est pas si facile à expliquer dans une réponse ou un commentaire. – kgiannakakis

1

La portée d'application dans JSP est identique à ServletContext.

Questions connexes