The following results in Jasper throwing NullPointerException when I try to
include a JSP's output into a servlet's output by calling the following
routine in the servlet code:
void include(String path, HttpServletRequest req, HttpServletResponse res)
throws ServletException {
javax.servlet.RequestDispatcher rd = req.getRequestDispatcher(path);
if (rd==null)
throw new ServletException(null RequestDispatcher");
try {
rd.include(req, res);
} catch (java.io.IOException e) {
throw new ServletException ("IO Exception", e);
} catch (java.lang.IllegalStateException e) {
throw new ServletException (
"Response was already committed", e);
} catch (ServletException e) {
throw new ServletException (Servlet exception",
e.getRootCause());
}
}
Any idea what the problem is? The complete error message is:
Internal Servlet Error:
javax.servlet.ServletException:
Sequencer.include(D:\JavaProjects\TomcatDocs\webapp\sessions\1x82j0rsy1.jsp)
: servlet exception
at com.mslinn.Sequencer.include(Sequencer.java:126)
at com.mslinn.Sequencer.doService(Sequencer.java:91)
at com.mslinn.Sequencer.doPost(Sequencer.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:484)
Root cause:
java.lang.NullPointerException
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:199)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at
org.apache.tomcat.facade.RequestDispatcherImpl.include(RequestDispatcherImpl
.java:345)
at com.mslinn.Sequencer.include(Sequencer.java:119)
at com.mslinn.Sequencer.doService(Sequencer.java:91)
at com.mslinn.Sequencer.doPost(Sequencer.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:484)
Mike Slinn