Bij*_*men 19 java spring-mvc servlet-3.0
WebApplicationInitializer提供了一种以编程方式表示标准web.xml文件的一部分的方法 - servlet,过滤器,监听器.
但是,我无法找到使用WebApplicationInitializer表示这些元素(会话超时,错误页面)的好方法,是否仍需要维护这些元素的web.xml?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/uncaughtException</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/resourceNotFound</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
使用弹簧靴很容易.
我相信通过扩展SpringServletContainerInitializer可以在没有spring boot的情况下完成.它似乎是专门为它设计的.
Servlet 3.0 ServletContainerInitializer旨在使用Spring的WebApplicationInitializer SPI支持基于代码的servlet容器配置,而不是(或可能与传统的基于web.xml的方法相结合).
示例代码(使用SpringBootServletInitializer)
public class MyServletInitializer extends SpringBootServletInitializer {
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory containerFactory = new TomcatEmbeddedServletContainerFactory(8080);
// configure error pages
containerFactory.getErrorPages().add(new ErrorPage(HttpStatus.UNAUTHORIZED, "/errors/401"));
// configure session timeout
containerFactory.setSessionTimeout(20);
return containerFactory;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11481 次 |
最近记录: |