In my case this error was caused twice by different root causes:
- Catalina cache doesn't return requested Java Server Page
- Low disk space on the partition where the cache directory resides
Description:
The keepgenerated attribute should be set in web.xml
In default this attribute is not set and server keeps generated server pages in the cache folder (mine is named work under tomcat)
We had to manually delete the content of that cache directory.
Solution for cause 1:
Add the ‘keepgenerated’ attribute into web.xml with 'false' value as following
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>keepgenerated</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
Solution for cause 2:
- Free some disk space
- Reload tomcat configuration