Ho impostato web.xml come di seguito. Ho anche un controller basato su annotazioni, che accetta qualsiasi pattern URL e poi passa al jsp corrispondente (l'ho impostato nel file -servlet.xml). Tuttavia, se vado a una pagina che termina con .html (e di cui jsp non esiste), non vedo la pagina 404 personalizzata (e vedo l'errore di seguito nel registro). Qualsiasi pagina che non finisce in .html, posso vedere la pagina 404 personalizzata.Personalizzato 404 utilizzando Spring DispatcherServlet
Come è possibile configurare una pagina 404 personalizzata per qualsiasi pagina che attraversa DispatcherServlet?
Inoltre, desidero aggiungere che se imposto la pagina di errore su una pagina statica (ad es. Error.htm) funziona, ma se lo cambio in un jsp (es. Error.jsp), ottengo l'IllegalStateException. Qualsiasi aiuto sarebbe apprezzato.
errori di registro
Caused by: java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:606)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:124)
regolatore
@RequestMapping(value = {"/**"})
public ModelAndView test() {
ModelAndView modelAndView = new ModelAndView();
return modelAndView;
}
web.xml
<servlet>
<servlet-name>my_servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
...
<servlet-mapping>
<servlet-name>my_servlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
...
<error-page>
<error-code>404</error-code>
<location>/error.html</location>
</error-page>
Prova questo -> http://ekiras.blogspot.in/ 2015/02/custom-error-404-error-page-in-spring-mvc.html –