spring - 如何在没有 web.xml 的情况下以编程方式设置 session 超时、错误页面

标签 spring spring-mvc

我正在使用 Spring MVC 并成功设置了 WebApplicationInitializer(使用 Tomcat 的 ServletContainerInitializer),没有任何 web.xml 文件。添加过滤器(如 Spring Security)和 servlet(如 Dispatcher)没有问题,而且它们工作正常。如果需要,我也可以设置 init-params。

我想不通的是如何设置一些通常存在于 web.xml 中的特殊标签。例如,我想设置一个自定义的 403 错误页面。通常我会在 web.xml 中这样做:

<error-page>
    <error-code>403</error-code>
    <location>/accessDenied.html</location>
</error-page>

但我不知道如何在 WebApplicationInitializer(它可以访问 ServletContext)中执行此操作。

我对 session 超时和欢迎文件有同样的问题。我已经搜索了大约两天,但仍未看到以编程方式完成此操作。同样,目标是完全删除 web.xml 文件并改用初始化程序类。

有什么想法吗?

最佳答案

通过 WebApplicationInitializer 似乎无法做到这一点,您必须坚持使用 web.xml 来专门针对此配置以及与此问题一起列出的其他一些配置 - Using Spring MVC 3.1+ WebApplicationInitializer to programmatically configure session-config and error-page

关于spring - 如何在没有 web.xml 的情况下以编程方式设置 session 超时、错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11634281/

相关文章:

java - 为什么加载惰性集合

java - 如何使用 String 的 Controller 和 RestTemplate 设置多个参数?

Spring自定义AuthenticationFailureHandler

java - 如何使用 RestAssured 发送多部分请求?

java - Spring 集成: Exception Handling on Publish/Subscribe Channels with Ordered Subscribers

java - Hibernate 与子类复合列的一对一映射

spring - 返回 Http 状态(例如 401)或重定向 Spring Security

java - 有什么方法可以为@RequestParam 获取BindingResult?

java - 多对多关系中的额外字段

Spring GlobalExceptionHandler : java. lang.IllegalStateException : Could not resolve parameter [0] . .. 没有合适的解析器