我需要知道是否有办法从 web.xml
调用 spring Controller 从以下位置:
<error-page>
<exception-type>org.demo.exceptions.InvalidSessionException</exception-type>
<location>/login.jsp</location>
</error-page>
我创建了一个名为 InvaliSessionException
的自定义异常类,
通常我们会从<location>
调用一些jsp页面标签,但我需要做的是调用登录 Controller ,例如 auth/login
即<location>/auth/login</location>
.
有什么办法可以实现这一点吗?
InvaliSessionException.java
public class InvalidSessionException extends NullPointerException
{
private static final long serialVersionUID = 1L;
public String getMessage()
{
return "No user logged in.";
}
public int getExceptionType()
{
return -1;
}
}
最佳答案
执行此操作的首选方法是在 Spring 上下文中添加“全局异常处理程序”,而不是尝试从 web.xml 重新进入 Spring 上下文。
您可以通过在上下文中配置 org.springframework.web.servlet.handler.SimpleMappingExceptionResolver bean 来实现此目的。使用该解析器应执行操作的异常列表设置 exceptionMappings 属性,并针对每个异常,提及应向用户显示的 View 。
这可以保持设计的简洁和可维护性。
关于java - 从 web.xml 调用 spring Controller (异常类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16100718/