java - spring security自定义tomcat错误页面

Posted

技术标签:

【中文标题】java - spring security自定义tomcat错误页面【英文标题】:java - spring security customize tomcat error pages 【发布时间】:2016-01-17 14:30:18 【问题描述】:

我正在开发一个使用 Apache Tomcat 8.0.11 Web 服务器的 java spring mvc 项目。我想自定义 400(错误请求)和 404(未找到)错误页面。换句话说,我想显示自定义错误页面而不是普通的 tomcat 错误页面。有没有办法在春季安全中做到这一点?请注意,我使用的是 java based config 而不是基于 xml 的配置。其实我是想自定义这个页面的:​​

【问题讨论】:

【参考方案1】:

您可以在 web.xml 文件中添加错误页面,如下所示

<display-name>App Name </display-name>
<error-page>
<error-code>123456</error-code>
<location>/error404.jsp</location>
</error-page>

在发送响应时,您可以这样做

response.sendError(123456,"Error Message");

【讨论】:

感谢您的回复。我试过了,它奏效了。现在,我的问题是如何访问error404.jsp 页面内的错误信息,例如代码和消息?例如$code .【参考方案2】:

我们可以通过多种方式自定义提到的异常

    根据错误代码,我们将自定义消息设置为响应对象,我们将其传递给 UI。

    如果我们使用 ReST 服务,API 本身就有异常 API 来自定义异常。例如:WebApplicationException 和 ExceptionMapper 等。

【讨论】:

以上是关于java - spring security自定义tomcat错误页面的主要内容,如果未能解决你的问题,请参考以下文章

具有 Spring Security 和 Java Config 的自定义身份验证提供程序

如何使用 Java 配置表示 Spring Security“自定义过滤器”?

Spring security - 自定义 AuthenticationProvider 不起作用 - Java Config

具有 Spring Security 和 Java 配置的自定义身份验证管理器

使用 Java Config 的 Spring Security 自定义身份验证过滤器

Spring Security教程---- 自定义AccessDeniedHandler