从web.xml调用spring控制器(异常类型)

时间:2013-04-19 08:48:32

标签: java spring-mvc web.xml

我需要知道是否有任何方法可以从以下位置调用web.xml的弹簧控制器:

<error-page>
    <exception-type>org.demo.exceptions.InvalidSessionException</exception-type>
    <location>/login.jsp</location>
</error-page>

我创建了一个名为InvaliSessionException的自定义异常类, 通常我们会从<location>标记中调用一些jsp页面,但我需要做的是调用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;
}
}

1 个答案:

答案 0 :(得分:1)

执行此操作的首选方法是在Spring上下文中添加“Global Exception Handler”,而不是尝试从web.xml重新输入Spring上下文。

您可以通过在上下文中配置org.springframework.web.servlet.handler.SimpleMappingExceptionResolver bean来实现此目的。设置exceptionMappings属性,该属性包含此解析程序应该处理的异常列表,对于每个异常,请提及应向用户显示的视图。

这使设计保持清洁和可维护。