【发布时间】:2014-04-18 20:36:27
【问题描述】:
我在 web.xml 中有一个简单的 servlet 配置:
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.atmosphere.cpr.MeteorServlet</servlet-class>
<init-param>
<param-name>org.atmosphere.servlet</param-name>
<param-value>org.springframework.web.servlet.DispatcherServlet</param-value>
</init-param>
<init-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>net.org.selector.animals.config.ComponentConfiguration</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
如何为 SpringBootServletInitializer 重写?
【问题讨论】:
-
不清楚您要做什么。如果您想要使用 Servlet 3.0 的完全相同的 Spring 应用程序,为什么要定义不同的 Servlet 类型(MeteorServlet 与 DispatcherServlet)?您在 web.xml 中加载的配置类不会在任何地方显式使用。您还扩展了
SpringBootServletInitializer,但似乎没有覆盖关键的configure方法。 -
对不起,也许是您误入歧途的代码示例。我需要配置 Meteor Servlet,如 web.xml 中所述
-
抱歉,没有关注。 web.xml 有一个
DispatcherServlet。如果您想要另一种 servlet 作为默认 servlet,请使用答案中的代码,但使用不同的 servlet 类(尽管 bean 名称仍然必须是“DispatcherServlet”)。 -
啊,我明白了。我错过了流星 servlet 声明。有机会我会更新答案。
-
谢谢戴夫!你解决了我的问题。
标签: java spring spring-mvc servlets spring-boot