我正在尝试从web.xml文件中获取显示名称(Context Root),以避免对上下文根进行硬编码。
任何帮助都将不胜感激。
答案 0 :(得分:11)
ServletContext.getServletContextName()
返回此网站的名称 对应的应用程序 ServletContext中指定的 此Web的部署描述符 应用程序的显示名称 元件。
答案 1 :(得分:11)
你的问题有些含糊不清。 “显示名称”不与“上下文根”相同。要从<display-name>
获取web.xml
值,请在此问题中查看skaffman的答案。要从<Context path>
获取context.xml
值,请使用ServletContext#getContextPath()
。这通常被称为“上下文根”(您也可以在URL中看到,该部分紧跟在域之后)。
答案 2 :(得分:1)
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());
或在Servlet中
protected void doGet(HttpServletRequest request, HttpServletResponse response)
{
ServletContext servletContext= getServletContext();
System.out.println("Context Name: "+servletContext.getServletContextName());
}