Sto cercando di ottenere il nome visualizzato (root di contesto) dal file web.xml per evitare di codificare una root di contesto.Ottieni il nome visualizzato dal file web.xml
Qualsiasi aiuto sarebbe apprezzato.
Sto cercando di ottenere il nome visualizzato (root di contesto) dal file web.xml per evitare di codificare una root di contesto.Ottieni il nome visualizzato dal file web.xml
Qualsiasi aiuto sarebbe apprezzato.
ServletContext.getServletContextName()
Restituisce il nome di questa applicazione web corrispondente a questo ServletContext come specificato nel descrittore distribuzione per questa applicazione web dal display-name elemento.
C'è qualche ambiguità nella tua domanda. Il "nome visualizzato" è non uguale a "root del contesto". Per ottenere il valore <display-name>
da web.xml
, consultare la risposta di skaffman in questa domanda. Per ottenere il valore <Context path>
da context.xml
, utilizzare ServletContext#getContextPath()
. Questo viene spesso indicato come "root del contesto" (che vedi anche nell'URL, quella parte immediatamente dopo il dominio).
Hai ragione. Dovrebbe essere .getContextPath() non getServletContextName(). –
En nombre puede obtener de la clase ServletContext. Con JSF
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
ServletContext servletContext= (ServletContext) externalContext.getContext();
System.out.println("Context Name: "+servletContext.getServletContextName());
oa una Servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response)
{
ServletContext servletContext= getServletContext();
System.out.println("Context Name: "+servletContext.getServletContextName());
}
Come @BalusC menzionato. Uno dovrebbe usare getContextPath(). Poiché la root di contesto è diversa da quella di Context name. –