HTTP 500 when using custom error pages in Tomcat 6.0
Hi there, Recently we upgraded to Tomcat 6.0. Suddenly the custom errorpages don't work anymore. For this test I created a simple jsp-page with %=x% in it without declaring that x so it would result in an error. I would like to know how I can get the customized page (error.jsp) back. # test.jsp # %@ page errorPage=error.jsp % html body h1Error test page/h1 %=x% /body /html # error.jsp # !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd html body h1Error message/h1 pSomething went wrong!/p div%= exception.getMessage () %/div /body /html # HTTP Status 500 - # type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 6 in the jsp file: /error/errormessage.jsp x cannot be resolved 3: html 4: body 5: h1Error test page/h1 6: %=x% 7: /body 8: /html Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError( DefaultErrorHandler.java:92) org.apache.jasper.compiler.ErrorDispatcher.javacError( ErrorDispatcher.java:330) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java :423) org.apache.jasper.compiler.Compiler.compile (Compiler.java:308) org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) org.apache.jasper.compiler.Compiler.compile(Compiler.java:273) org.apache.jasper.JspCompilationContext.compile( JspCompilationContext.java:566) org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java :320) org.apache.jasper.servlet.JspServlet.service (JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) After repeated refreshes, I sometimes get the following error: # HTTP Status 500 - # type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException : org.apache.jasper.JasperException: Unable to load class for JSP org.apache.jasper.servlet.JspServletWrapper.getServlet( JspServletWrapper.java:156) org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java :329) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java :320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java :803) root cause org.apache.jasper.JasperException: Unable to load class for JSP org.apache.jasper.JspCompilationContext.load( JspCompilationContext.java:600) org.apache.jasper.servlet.JspServletWrapper.getServlet ( JspServletWrapper.java:144) org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:329) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java :320) org.apache.jasper.servlet.JspServlet.service (JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause java.lang.ClassNotFoundException: org.apache.jsp.error.errormessage_jsp java.net.URLClassLoader$1.run (URLClassLoader.java:200) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:188) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) org.apache.jasper.JspCompilationContext.load( JspCompilationContext.java:598) org.apache.jasper.servlet.JspServletWrapper.getServlet ( JspServletWrapper.java:144) org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:329) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java :320) org.apache.jasper.servlet.JspServlet.service (JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) Thanks for your input! Roger
Re: HTTP 500 when using custom error pages in Tomcat 6.0
On 6/5/07, Roger Roger [EMAIL PROTECTED] wrote: Hi there, Recently we upgraded to Tomcat 6.0. Suddenly the custom errorpages don't work anymore. It works, when I try the example you've shown in your first post. A few things you may want to check: 1) errorPage=error.jsp , is error.jsp relative to test.jsp ? Since the above is a ~page relative~ path, both test.jsp and error.jsp should be in the same folder , otherwis error.jsp will not be found. A better approach would be to make errorPage a ~context~ relative path , something like errorPage=/errors/error.jsp , this way error.jsp will be visible to any page in your app when you use that path. 2) Is the web.xml configured correctly, is the path of error.jsp in web.xml correct? Again, it should be context relative. -Rashmi - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]