ApplicationContext et ServletContext
Je m'embrouille entre les deux ApplicationContext et ServletContext quand il s'agit de Spring MVC de l'Application.
Je sais qu'Il n'y a qu'Un ApplicationContext par du Printemps et de l'Application Web, il est également à seulement Un seul ServletContext par application web.
Pour lancer la valeur pour les deux ApplicationContext et ServletContext, dans web.xml nous allons ajouter quelque chose dans context-param tag.
C'est le point qui me rend confus. Quelles sont les différences entre ces deux (je sais ApplicationContext a des méthodes pour travailler avec des haricots)? et Quand nous utilisons ApplicationContext et Quand nous utilisons ServletContext?
je n'ai mais je que je ne peux pas passer à travers, j'ai donc demandé à cette question.
OriginalL'auteur Raleigh | 2015-08-11
Vous devez vous connecter pour publier un commentaire.
Servlet Contexte:
Il est initialisé lors d'une Servlet application est déployée. Servlet Contexte détient toutes les configurations (init-param contexte, params, etc), de l'ensemble de la servlet application.
Le Contexte De L'Application:
C'est un Ressort spécifique de la chose. Il est initialisé par le Printemps. Il est titulaire de tous les haricots de définitions et de cycle de vie de la de la les haricots qui est définie à l'intérieur du printemps des fichiers de configuration. Servlet-Contexte n'a aucune idée sur ce genre de choses.
Il existe deux types de contextes au Printemps, le parent et l'enfant.
Printemps Parent Contexte (Le Contexte De L'Application /De La Racine De Contexte )
rôle-but-de-contextloaderlistener-en-printemps
Printemps-ContextLoaderListener-Et-DispatcherServlet-Concepts
Quand le printemps conteneur de start-ups, il lit tous les haricots définitions des fichiers de configuration et crée des haricots objets et gère le cycle de vie des beans objets.
Cette configuration est totalement facultatif.
DispatcherServlet vs ContextLoaderListener
/déclarant-printemps-bean-en-parent-contexte-vs-enfant-contexte
Printemps De L'Enfant Contexte ( WebApplicationContext /Enfant Contexte )
Quand le printemps application web démarre, il va regarder pour le printemps bean fichier de configuration myWebApplication-servlet.xml. Il va lire tous les haricots de définitions et de créer et gère le haricot objets du cycle de vie. Si le parent printemps contexte est disponible, il va fusionner l'enfant printemps contexte avec le parent printemps contexte. Si il n'y a pas de Ressort contexte parent disponible l'application aura seulement l'enfant printemps contexte.
OriginalL'auteur ParagFlume
Ils sont deux choses différentes. Toutes les applications web Java basé sur la technologie Servlet aura un contexte de la servlet, si c'est un ressort de l'application ou non. En revanche, la ApplicationContext est un Ressort chose; en termes très simples, c'est un conteneur pour beans Spring.
Il serait utile si vous citer un exemple, parce que, autant que je sache, context-param est utilisé pour le ServletContext, et pas ApplicationContext.
Mise à jour:
Vous pouvez utiliser un
context-param
de fournir l'emplacement de la racine de contexte de l'application des fichiers de configuration, comme ci-dessous.Peut-être qu'ils sont en train de dire que vous pouvez l'emplacement de la racine de contexte de l'application des fichiers de configuration en utilisant un context-param. Voir ma réponse mis à jour.
OriginalL'auteur Sanjay
Au Printemps, à lire spécifique de l'initialisation du fichier de configuration, nous utilisons la context-param avec le nom prédéfini appelé contextConfigLocation.
Mais dans le cas de la Plaine de l'application web J2EE, sans aucune cadres, la context-param pouvez lire à partir de n'importe où dans l'application c'est à dire une servlet, filtre.
La différence entre ApplicationContext et ServletContext, sanjay expliqué
OriginalL'auteur Ankireddy Polu
ApplicationContext est le Printemps du conteneur.
Il est utilisé pour câbler les configurations de beans Spring ensemble et de les utiliser pour l'application.
Utilisation ApplicationContext si vous souhaitez récupérer les informations de beans Spring.
Utilisation de ServletContext si vous souhaitez obtenir/définir l'attribut qui sont communes à tous les Servlet.
OriginalL'auteur Thạnh Nguyên
ServletContext
s'en distingue du "enveloppant"ApplicationContext
. La Java doc a dit le ci-dessous pourServletContext
Car il peut y avoir plus d'une "application web" sous le même
AppBase
, chacun avec leur propreDocBase
,WEB-INF/web.xml
etc., il y a certainement une commune de l'environnement/contexte qui est partagée par tous les "applications web", qui est appelée laApplicationContext
. Dans le cas du JSF,PortletContext
est la contre-partie deServletContext
et laApplicationContext
est appelé leExternalContext
.Je vois que l'OP est dans le "contexte" de Spring framework, mais le titre lui-même est plus général. ApplicationContext.getContext(java.lang.String uri) lien retourne un objet de ServletContext. ApplicationContext n'est pas seulement un Ressort de construire.
OriginalL'auteur Madhu