Différence b / w et
-
20-09-2019 - |
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>
?
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.