Bug 28873 - Apache Tomcat/4.0.6 - HTTP Status 500 - Internal Server Error
Summary: Apache Tomcat/4.0.6 - HTTP Status 500 - Internal Server Error
Status: RESOLVED INVALID
Alias: None
Product: Tomcat 4
Classification: Unclassified
Component: Jasper (show other bugs)
Version: 4.0.6 Final
Hardware: PC All
: P3 blocker (vote)
Target Milestone: ---
Assignee: Tomcat Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-05-10 14:36 UTC by Yi Tao
Modified: 2005-03-20 17:06 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yi Tao 2004-05-10 14:36:22 UTC
NetBeans 3.5, J2SDK1.4.2_04
Developed a J2EE application.

Case 1:
For jsp pages compiled in IDE with JDK jsp compiler, the corresponding java 
files contain new lines as below.

                out.write("\r\n");
                out.write("\r\n");
                out.write("\r\n");
                out.write("");

Case 2:
At runtime, delete .java and .class, Tomcat Jasper jsp engine compiled jsp 
files containing new lines as below.
                out.write("\n\n\n");

Case 2 generated code will run well on Tomcat. However, case 1 generated code 
failed to run with the following errors. Can anyone explain this? Any conflicts 
for Tomcat jasper engine's failure to run JDK compiled jsp files?

Apache Tomcat/4.0.6 - HTTP Status 500 - Internal Server Error

--------------------------------------------------------------------------------

type Exception report

message Internal Server Error

description The server encountered an internal error (Internal Server Error) 
that prevented it from fulfilling this request.

exception 

java.lang.NullPointerException
	at org.apache.jasper.servlet.JasperLoader.loadClass
(JasperLoader.java:180)
	at org.apache.jasper.servlet.JasperLoader.loadClass
(JasperLoader.java:132)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
	at org.apache.jsp.CustomerMaintChange$jsp._jspService
(CustomerMaintChange$jsp.java:852)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at 
org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet$JspServletWrapper.ser
vice(IDEJspServlet.java:173)
	at 
org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet.serviceJspFile
(IDEJspServlet.java:246)
	at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet.service
(IDEJspServlet.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationDispatcher.invoke
(ApplicationDispatcher.java:683)
	at org.apache.catalina.core.ApplicationDispatcher.doForward
(ApplicationDispatcher.java:431)
	at org.apache.catalina.core.ApplicationDispatcher.access$000
(ApplicationDispatcher.java:115)
	at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run
(ApplicationDispatcher.java:130)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.catalina.core.ApplicationDispatcher.forward
(ApplicationDispatcher.java:347)
	at org.apache.struts.action.RequestProcessor.doForward
(RequestProcessor.java:1069)
	at org.apache.struts.action.RequestProcessor.processForwardConfig
(RequestProcessor.java:455)
	at org.apache.struts.action.RequestProcessor.process
(RequestProcessor.java:279)
	at org.apache.struts.action.ActionServlet.process
(ActionServlet.java:1482)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationDispatcher.invoke
(ApplicationDispatcher.java:683)
	at org.apache.catalina.core.ApplicationDispatcher.doForward
(ApplicationDispatcher.java:431)
	at org.apache.catalina.core.ApplicationDispatcher.access$000
(ApplicationDispatcher.java:115)
	at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run
(ApplicationDispatcher.java:130)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.catalina.core.ApplicationDispatcher.forward
(ApplicationDispatcher.java:347)
	at org.apache.struts.action.RequestProcessor.doForward
(RequestProcessor.java:1069)
	at org.apache.struts.action.RequestProcessor.processForwardConfig
(RequestProcessor.java:455)
	at org.apache.struts.action.RequestProcessor.process
(RequestProcessor.java:279)
	at org.apache.struts.action.ActionServlet.process
(ActionServlet.java:1482)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationDispatcher.invoke
(ApplicationDispatcher.java:683)
	at org.apache.catalina.core.ApplicationDispatcher.doForward
(ApplicationDispatcher.java:431)
	at org.apache.catalina.core.ApplicationDispatcher.access$000
(ApplicationDispatcher.java:115)
	at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run
(ApplicationDispatcher.java:130)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.catalina.core.ApplicationDispatcher.forward
(ApplicationDispatcher.java:347)
	at org.apache.struts.action.RequestProcessor.doForward
(RequestProcessor.java:1069)
	at org.apache.struts.action.RequestProcessor.processForwardConfig
(RequestProcessor.java:455)
	at org.apache.struts.action.RequestProcessor.process
(RequestProcessor.java:279)
	at org.apache.struts.action.ActionServlet.process
(ActionServlet.java:1482)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.access$000
(ApplicationFilterChain.java:98)
	at org.apache.catalina.core.ApplicationFilterChain$1.run
(ApplicationFilterChain.java:176)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:172)
	at crm.application.web.filters.SetCharacterEncodingFilter.doFilter
(SetCharacterEncodingFilter.java:157)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:213)
	at org.apache.catalina.core.ApplicationFilterChain.access$000
(ApplicationFilterChain.java:98)
	at org.apache.catalina.core.ApplicationFilterChain$1.run
(ApplicationFilterChain.java:176)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:172)
	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter
(MonitorFilter.java:226)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:213)
	at org.apache.catalina.core.ApplicationFilterChain.access$000
(ApplicationFilterChain.java:98)
	at org.apache.catalina.core.ApplicationFilterChain$1.run
(ApplicationFilterChain.java:176)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:172)
	at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:243)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:190)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
	at org.apache.catalina.valves.CertificatesValve.invoke
(CertificatesValve.java:246)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
	at org.netbeans.modules.web.monitor.catalina.MonitorValve.invoke
(MonitorValve.java:148)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContext.invoke
(StandardContext.java:2347)
	at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
	at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
	at org.apache.catalina.valves.AccessLogValve.invoke
(AccessLogValve.java:468)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.connector.http.HttpProcessor.process
(HttpProcessor.java:1027)
	at org.apache.catalina.connector.http.HttpProcessor.run
(HttpProcessor.java:1125)
	at java.lang.Thread.run(Thread.java:536)



--------------------------------------------------------------------------------
Comment 1 Mark Thomas 2004-05-10 20:15:31 UTC
Looking at where the error occurs, my best guess is that the netbeans 
generated servlet is not in a package. Without the full source it is 
impossible to tell.

To quote from the JSP spec:
<spec-quote>
JSP.8.2 JSP Page Implementation Class
The JSP container creates a JSP page implementation class for each JSP page.
The name of the JSP page implementation class is implementation dependent.
The JSP Page implementation object belongs to an implementation-dependent
named package. The package used may vary between one JSP and another, so
minimal assumptions should be made. The unnamed package should not be used
without an explicit “import” of the class.
...
</spec-quote>