【问题标题】:How to configure display-name when no web.xml没有 web.xml 时如何配置显示名称
【发布时间】:2014-11-18 12:43:57
【问题描述】:

我们曾经在 web.xml 中指定 display-name 目前我们没有 web.xml(添加一个似乎会破坏应用程序)

我们正在使用spring boot / spring 4 / java 7 / maven3来开发rest服务。

谁能告诉我如何设置显示名称? 例如从 java 代码/SpringBootServletInitializer 中?

注意:我目前没有任何@WebServlet 标签

在下面添加 web.xml 后,tomcat 管理器将显示显示名称,但打开我的应用程序时出现 404。似乎添加 web.xml 会破坏我的应用程序。

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0">
<display-name>MyT2ConfigServer</display-name>
  <description>MyT2ConfigServer description</description>
</web-app>

【问题讨论】:

  • 你不能,你必须使用web.xml。 java基础配置以及错误页面和一些会话设置中缺少的一件事。
  • 感谢您的回复。您应该能够添加 web.xml 并使用 SpringBootServletInitializer 吗?
  • 是的(默认情况下)不排除另一个。如果您将metadata-complete="true" 添加到您的 web.xml 中,则不会进行检测,但默认情况下会。

标签: spring-boot servlet-3.0


【解决方案1】:

自 SpringBoot v1.3.1.RELEASE 起,您可以通过 server.display-name 属性来实现。

https://github.com/spring-projects/spring-boot/issues/2600

编辑 2019 年 10 月 24 日: 由于 SpringBoot v2.0.0 RELEASE 你可以通过 server.servlet.application-display-name 属性来实现

查看此提交:https://github.com/spring-projects/spring-boot/commit/0c1aac14a077685ce6a6c2c0d7066255a7433365

【讨论】:

  • 我不认为这可以解决问题..这与嵌入式 tomcat 没有对现有的 tomcat 部署战争有关...不是吗?
  • server.* 始终只适用于嵌入式 tomcat。
  • server.display-name 已弃用。请改用 server.servlet.application-display-name。
【解决方案2】:

添加 web.xml 后,我遇到了一个由我所做的其他更改引起的不相关问题... 当我解决这个其他问题时,一切都很好,我可以按照 M.Deinum 的建议使用上面的 web.xml。

【讨论】:

    猜你喜欢
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多