Требования:Java + Vaadin + Обработка исключения кота с помощью web.xml
Я хочу, чтобы показать страницу ошибки, когда когда-либо мы получаем любое исключение (т.е. NullPointer, IndexOutOfBoundsException и т.д.) в консоли сервера.
Системные требования:
Мы используем Apache Tomcat 7.0.61, Maven 3.2.3, Spring и Vaadin 7 (для UI Framework).
Наш файл web.xml:
<context-param>
..............
</context-param>
<context-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</context-param>
.....
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>Vaadin Application Servlet</servlet-name>
<servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
<init-param>
<description>Vaadin UI to display</description>
<param-name>UI</param-name>
<param-value>com.lone.ui.LoneUI</param-value>
</init-param>
<init-param>
<description>Application widgetset</description>
<param-name>widgetset</param-name>
<param-value>com.lone.ui.AppWidgetSet</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Vaadin Application Servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Так я просмотрел и пытался с некоторыми из сценариев:
Сценарий 1)
Сначала я настроил
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error</location>
</error-page>
(or)
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error</location>
</error-page>
в файле web.xml, а затем я написал класс контроллера с помощью @RequestMapping ("/ error") на уровне метода, но этот сценарий не сработал.
Сценарий 2)
То же самое с выше файле web.xml я написал класс Servlet, как
@WebServlet(value = {"/error"},asyncSupported = true)
public class ExceptionHandling extends VaadinServlet{
@Override
protected VaadinServletService getService() {
System.out.println("First if i display the sout message then i can Navigate to the Error Page....");
return super.getService();
}
}
Но это тоже не сработало.
Сценарий 3)
То же самое с выше файле web.xml я написал класс сервлета посредством расширения HTTPServlet, но все еще не в состоянии отобразить сообщение SOUT.
Сценарий 4) Я попытался с Spring @ControllerAdvice и @exception обработчика аннотации еще я не смог отобразить страницу ошибки
Главное требование:
Мне нужно настроить исключения в файле Web.xml, чтобы при получении каких-либо исключений в консоли сервера он попал в файл web.xml и должен перейти на страницу с ошибкой.
Не могли бы вы предложить мне выполнить требование, потому что я работал над этим требованием за последние 2 дня.
Заранее спасибо.
Пожалуйста, расскажите, что пошло не так, чтобы мы могли помочь? Я использовал метод '@ controllerAdvice', и он отлично работал для меня. – M4ver1k
Я также использовал @ ControllerAdvice, но метод (попытка отображения SOUT-сообщения в методе) не вызывает/не выполняет в классе. Если его выполнить, я могу написать код для перехода на страницу с ошибкой. – user2323555