java - 从 web.xml 调用 spring Controller (异常类型)

标签 java spring-mvc web.xml

我需要知道是否有办法从 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/

相关文章:

java - ')' expected, error: not a statement, error: ';'预期的

java - MVC 和带有 Set<> 的对象

java - 速度模板和 javascript

java - 是否可以在 web.xml 中使用基于配置文件的过滤器

tomcat - 是否可以通过 web.xml 中的 Error-page 标签为 tomcat web 应用程序传递参数?

java - 将 ArrayList 保存到实现序列化的共享首选项?

java - 我有点困惑不同集合 和 集合 和有什么不一样?

java - 如何修改此 Java 程序以从命令行指定的文件中读取名称?

spring-mvc - Spring 与 <form :form commandName ="xy" 的注释关系

jsf - FacesExceptionFilter OmniFaces 使用 WEB-INF 内的错误页面