Для этого вы можете использовать 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());
Привет, Спасибо за ваш ответ. В моем случае, если кто-то изменит URL-адрес, то как отобразить эту страницу ошибок по умолчанию. В этом случае имя контроллера не будет найдено. Затем мне нужно показать страницу с ошибкой по умолчанию. – suneel
Если это не действительный URL-адрес, тогда страница не будет отображаться (собственная функция браузера) иначе, если это допустимый URL-адрес и вы не хотите его обрабатывать, тогда вы можете обрабатывать логику в своем контроллере. –