Question

DD éléments <context-param> et <init-param> les deux peuvent être récupérés par le procédé de getInitParameter(), dans le code de servlet.

Maintenant, la question est, comment il différencie <context-param> et <init-param>?

Était-ce utile?

La solution

Servlet Paramètres init sont que pour une seule servlet. Rien en dehors de cette servlet peut avoir accès. Il est déclaré dans la balise <servlet> du descripteur de déploiement, d'autre part paramètre init contexte est pour toute application web. Toute servlet ou JSP dans cette application Web peuvent accéder à contexte paramètre init . paramètres Contexte sont déclarés dans une <context-param> balise directement dans la balise <web-app>.

Les méthodes d'accès paramètre init contexte est

getServletContext().getInitParameter("name"); 

alors que le procédé d'accès à paramètre servlet init est

getServletConfig().getInitParameter("name");

Autres conseils

Comme expliqué par Adeel Ansari, , cela dépend de quel objet vous invoquez la méthode getInitParameter() dans le code de servlet .

Toutes les servlets étend à partir et sont donc par exemple de GenericServlet.

.

DD éléments <context-param> peut être récupéré par:

ServletContext context = this.getServletContext();
String paramValue = context.getInitParamter("paramName");

.

DD éléments <init-param> les deux peuvent être récupérés par:

ServletConfig config = this.getServletConfig();
String paramValue = config.getInitParamter("paramName");

A noter également que depuis la classe GenericServlet implémente l'interface de ServletConfig, votre classe de servlet est également ServletConfig (implique this = this.getServletConfig()). Par conséquent, vous pouvez également obtenir des éléments DD <init-param> directement par:

String paramValue = this.getInitParamter("paramName");

.

Vous pouvez essayer cela en ayant même nom dans param les deux éléments de DD avec des valeurs différentes et puis l'imprimer dans votre servlet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top