将用户重定向到春季

时间:2016-05-03 05:52:56

标签: spring-mvc

我需要将用户重定向到某人修改网址的特定错误页面

表示例如: - 如果有人将网址从http://localhost:8085/PSST/PSS更改为http://localhost:8085/DLMS_Client/PS,则应用程序应将用户重定向到默认错误页面。

过去几天我一直在努力解决这个问题。

任何帮助都会得到满足。

先谢谢。

1 个答案:

答案 0 :(得分:0)

为此你可以使用Spring的SimpleExceptionMappingResolver。您需要在projet-servlet.xml

中进行设置
<!-- ExceptionResolverMapping: generate exception specific view -->

    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <props>
                <prop key="com.rail.eseva.exception.UnexpectedException">/unexpectedExceptionView</prop>
            </props>
        </property>
        <property name="defaultErrorView" value="/genericExceptionView"/>
    </bean>

创建一个自定义的异常类,如 -

public class UnexpectedException extends RuntimeException {
    private static final long serialVersionUID = 1L;


    private String message;
    private Date date;
    public UnexpectedException(String message, Date date) {
        this.date=date;
        this.message=message;
    }
    /**
     * @return the message
     */
    @Override
    public String getMessage() {
        return message;
    }
    /**
     * @return the date
     */
    public Date getDate() {
        return date;
    }

    @Override
    public String toString() {
        return message +" "+date.getTime();
    }
}

和通用异常视图页

<body>

    <h2>Exception occured at: <fmt:formatDate value="${exception.date}" pattern="dd.MM.yyyy"/></h2>
    <h2>Exception message :</h2> ${exception.message} 

</body>

现在您可以根据您的要求抛出此异常:

throw new UnexpectedException(e.getMessage(), new Date());