如何为没有web.xml配置的Web应用程序指定显示名称

Mar*_*szS 8 java web.xml servlets java-ee web

如何在仅使用WebApplicationInitializer的 java中以编程方式指定Web应用程序(war)的显示名称.我有类似的东西

public class WebAppInitializer implements WebApplicationInitializer {
  public void onStartup(ServletContext servletContext) throws ServletException {
     ...
  }
}
Run Code Online (Sandbox Code Playgroud)

有了web.xml这个看起来像这样:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"    metadata-complete="false">
   <display-name>my app</display-name>
   ...
</web-app>
Run Code Online (Sandbox Code Playgroud)

这在Java配置中是否可行?

Sot*_*lis 4

ServletContext接口不提供更改显示名称的方法。还有一些其他事情它也不让您做。在这些情况下,您必须使用部署描述符,即。这web.xml

请注意,它有一个getServletContextName()方法

返回与此 ServletContext 相对应的此 Web 应用程序的名称,如该 Web 应用程序的部署描述符中由 display-name 元素指定的那样。