J'essaie d'obtenir le nom complet (racine du contexte) à partir du fichier web.xml pour éviter le codage en dur d'une racine de contexte.Récupère le nom d'affichage du fichier web.xml
Toute aide serait appréciée.
J'essaie d'obtenir le nom complet (racine du contexte) à partir du fichier web.xml pour éviter le codage en dur d'une racine de contexte.Récupère le nom d'affichage du fichier web.xml
Toute aide serait appréciée.
ServletContext.getServletContextName()
retourne le nom de cette application web correspondant à cette ServletContext comme spécifié dans le descripteur de déploiement pour cette application web par l'affichage du nom de l'élément .
Il y a une certaine ambiguïté dans votre question. Le "nom d'affichage" est et non de la même manière que "racine de contexte". Pour obtenir la valeur <display-name>
de web.xml
, regardez la réponse de skaffman dans cette question. Pour obtenir la valeur <Context path>
de context.xml
, utilisez ServletContext#getContextPath()
. Ceci est souvent référencé comme "racine de contexte" (que vous voyez également dans l'URL, cette partie immédiatement après le domaine).
Vous avez raison. Cela devrait être .getContextPath() pas getServletContextName(). –
ServeurContext. Con JSF
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
ServletContext servletContext= (ServletContext) externalContext.getContext();
System.out.println("Context Name: "+servletContext.getServletContextName());
ou dans un Servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response)
{
ServletContext servletContext= getServletContext();
System.out.println("Context Name: "+servletContext.getServletContextName());
}
Comme mentionné @BalusC. On devrait utiliser getContextPath(). Parce que la racine de contexte est différente de son nom de contexte. –