You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2004/07/22 23:30:25 UTC

DO NOT REPLY [Bug 30274] New: - Servlet.service() for servlet jsp threw exception

Servlet.service() for servlet jsp threw exception java.lang.ClassCastException

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=30274>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=30274

Servlet.service() for servlet jsp threw exception
Servlet.service() for servlet jsp threw exception java.lang.ClassCastException

           Summary: Servlet.service() for servlet jsp threw exception
                    Servlet.service() for servlet jsp threw exception
                    java.lang.ClassCastException
           Product: Tomcat 5
           Version: 5.0.18
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Catalina
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: pve@casd.cz


A my javax.servlet.Filter implemtation threw java.lang.ClassCastException on the
line marked by ">>>>>>". 
-------------------------------------------------------------------------------
This is the doFilter method implementation:
-------------------------------------------------------------------------------
    public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest)request;
        String type = req.getHeader("Content-Type");

        // If this is not a multipart/form-data request continue
        if (type == null || !type.startsWith("multipart/form-data")) {
            chain.doFilter(request, response);
        }
        else {
            HttpSession session = ((HttpServletRequest)request).getSession();
            dir = (String)session.getAttribute("target");
            if ((dir == null) || ("".equals(dir))) {
                throw new ServletException("Invalid target dir.");
            }
            MultipartWrapper multi = new MultipartWrapper(req, dir);
            System.err.println("Is multi instance of ServletRequest? " + (multi
instanceof ServletRequest));
            System.err.println("Is response instance of ServletResponse? " +
(response instanceof ServletResponse));
            System.err.println("Multi class is " + multi.getClass().getName());
            System.err.println("Response class is " +
response.getClass().getName());
/*>>>>>>*/            chain.doFilter(multi, response);
        }

    }

This is debug output produced by "System.err.println..." lines:
---------------------------------------------------------------
Is multi instance of ServletRequest? true
Is response instance of ServletResponse? true
Multi class is com.oreilly.servlet.MultipartWrapper
Response class is org.apache.coyote.tomcat5.CoyoteResponseFacade

This the result in log:
-----------------------
2004-07-22 23:17:43 StandardContext[/manager]Manager: start: Starting web
application at '/wfs'
2004-07-22 23:18:25 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp
threw exception
java.lang.ClassCastException
	at org.apache.jsp.upload_jsp._jspService(upload_jsp.java:47)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
	at cz.pve.fs.MultipartFilter.doFilter(MultipartFilter.java:61)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:233)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
	at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
	at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
	at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184)
	at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
	at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
	at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619)
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688)
	at java.lang.Thread.run(Thread.java:534)

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org