I'm trying to do a file upload in one of my forms, and I followed the examples religiously. However, as soon as I change the enctype parameter in the <html:form> tag, submitting the form causes the wierdest error:
This seems to happen right after populating the form bean fields, the struts log looks like this:
Note that the exception is not logged in the struts log, its caught in a filter.
If i remove the enctype property, it works (not with the file upload ofcourse), if I add it, it doesn't, changing nothing else.
Code:
javax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:222)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at com.emilldev.audit.filter.HibernateFilter.doFilter(HibernateFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Code:
2005-10-30 23:25 DEBUG RequestUtils:294 - Creating new ActionForm instance of type 'com.emilldev.audit.engagement.RiskAssessmentUpdateBean'
2005-10-30 23:25 DEBUG RequestUtils:300 - --> com.emilldev.audit.engagement.RiskAssessmentUpdateBean@c50b34
2005-10-30 23:25 DEBUG RequestProcessor:327 - Storing ActionForm bean instance in scope 'request' under attribute key 'riskAssessmentUpdateBean'
2005-10-30 23:25 DEBUG RequestProcessor:794 - Populating bean properties from this request
2005-10-30 23:25 DEBUG ModuleUtils:167 - Get module name for path /action/exceptionHandler.do
2005-10-30 23:25 DEBUG ModuleUtils:191 - Module name found: default
2
Note that the exception is not logged in the struts log, its caught in a filter.
If i remove the enctype property, it works (not with the file upload ofcourse), if I add it, it doesn't, changing nothing else.