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) --------------------------------------------------------------------------------
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>