का उपयोग कर कस्टम 404 मैंने नीचे वेब.एक्सएमएल सेट अप किया है। मेरे पास एक एनोटेशन-आधारित नियंत्रक भी है, जो किसी भी यूआरएल पैटर्न में ले जाता है और उसके बाद संबंधित जेएसपी (मैंने इसे -servlet.xml में सेट किया है) पर जाता है। हालांकि, अगर मैं किसी ऐसे पृष्ठ पर जाता हूं जो .html (और जिसका jsp मौजूद नहीं है) में समाप्त होता है, तो मुझे कस्टम 404 पृष्ठ नहीं दिखाई देता है (और लॉग में निम्न त्रुटि देखें)। कोई भी पृष्ठ जो .html में समाप्त नहीं होता है, मैं कस्टम 404 पेज देख सकता हूं।स्प्रिंग डिस्पैचर सर्विलेट
डिस्पैचर सर्वलेट के माध्यम से जाने वाले किसी भी पृष्ठ के लिए कस्टम 404 पृष्ठ के लिए मैं कॉन्फ़िगर कैसे कर सकता हूं?
यह भी जोड़ना है कि अगर मैं अपना त्रुटि पृष्ठ एक स्थिर पृष्ठ (यानी त्रुटि.htm) पर सेट करता हूं, तो यह काम करता है, लेकिन अगर मैं इसे jsp (यानी error.jsp) में बदलता हूं, तो मुझे IllegalStateException मिलता है। किसी भी सहायता की सराहना की जाएगी।
लॉग त्रुटि
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)
नियंत्रक
@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>
प्रयास करें इस -> http://ekiras.blogspot.in/ 2015/02/कस्टम-त्रुटि -404-त्रुटि-पेज-इन-वसंत-एमवीसीएचटीएमएल –