2016-05-03 7 views
0

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

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

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

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

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

ответ

0

Для этого вы можете использовать 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()); 
+0

Привет, Спасибо за ваш ответ. В моем случае, если кто-то изменит URL-адрес, то как отобразить эту страницу ошибок по умолчанию. В этом случае имя контроллера не будет найдено. Затем мне нужно показать страницу с ошибкой по умолчанию. – suneel

+0

Если это не действительный URL-адрес, тогда страница не будет отображаться (собственная функция браузера) иначе, если это допустимый URL-адрес и вы не хотите его обрабатывать, тогда вы можете обрабатывать логику в своем контроллере. –

Смежные вопросы