java - 如何处理过滤器中抛出的异常?

标签 java spring spring-mvc tomcat

我正在使用 Spring 4 和 Tomcat。问题是有时我必须在我的过滤器中抛出一个(自定义)RuntimeException(控件甚至没有到达 Controller )。问题是因为我没有抛出 tomcat 理解的异常,它被转换为 500(内部服务器错误)。我相信 403 Forbidden 会比 500 更好(对于我的自定义异常(exception))。我查看了 @ExceptionHandler@ControllerAdvice 注释。但这些只有在控制权到达 Controller 时才有效。

到目前为止,我在过滤器的 HTTPResponse 中手动将状态设置为 403。有没有更好的方法来处理这种情况?

最佳答案

you should use something like this

在 web.xml 中设置错误处理程序

<error-page>
    <exception-type>java.lang.RuntimeException</exception-type>
    <location>/handleExceptionService</location>
</error-page>

因此,当您获得服务时,您可以随心所欲地处理错误。

祝你好运!!!

关于java - 如何处理过滤器中抛出的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32600301/

相关文章:

java - Spring CrudRepository保存方法的自定义返回类型(动态投影)

java - 尝试通过rest访问jpa数据时获取 "No mapping found for HTTP request with URI [/system/people]..."

java - GWT RPC 延迟绑定(bind)失败

java - 根据 List 的排序重新排序 Map

java - JPA/Spring Roo : is there a destructor event called when an entity is removed from the persistent store?

java - 如何将一个spring项目包含到另一个spring项目中

java - 需要将 AJAX 中的 ID 传递到后端逻辑的策略

java - 可以为-classpath提供相对路径(java)

java - GridPane 的 LayoutY 不受 ScrollBar Listener 影响

Springs RestTemplate 默认连接池