Перенаправление пользователя на страницу ошибки по умолчанию весной

Мне нужно перенаправить пользователя на конкретную страницу ошибки, в которой кто-то изменяет url

например: — если кто-то изменить url-адрес с http://localhost:8085/PSST/PSSна http://localhost:8085/DLMS_Client/PSто приложение должно перенаправить пользователя на страницу ошибки по умолчанию.

Я борюсь за решение последних нескольких дней.

Любая помощь будет оказана.

Спасибо заранее.

1 ответ

  1. Для этого можно использовать 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());