這個問題是在使用Struts2想做一個上傳文件的頁面時候Tomcat報出來的錯誤,詳細信息如下:
2007-7-19 21:34:09 org.apache.catalina.core.StandardWrapperValve invoke
嚴重: Servlet.service() for servlet jsp threw exception
java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
??? at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:136)
??? at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:476)
??? at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:486)
??? at com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:517)
??? at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:542)
??? at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:515)
??? at org.apache.struts2.dispatcher.Dispatcher.wrapRequest(Dispatcher.java:697)
??? at org.apache.struts2.dispatcher.FilterDispatcher.prepareDispatcherAndWrapRequest(FilterDispatcher.java:330)
??? at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:390)
??? at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
??? at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
??? at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
??? at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
??? at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
??? at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
??? at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
??? at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
??? at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
??? at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
??? at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
??? at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
??? at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
??? at java.lang.Thread.run(Thread.java:595)
Caused by: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
??? at org.apache.struts2.config.BeanSelectionProvider$ObjectFactoryDelegateFactory.create(BeanSelectionProvider.java:246)
??? at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:134)
??? ... 22 more
最后Google了不少文章,找到了原因:(缺少了必要的jar包)Struts2使用開源項目Apache Jakarta Commons FileUpload和內建的FileUploadInterceptor攔截器實現文件上傳,所需的jar包如下:
commons-logging-1.1.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.6.jar
xwork-2.0.1.jar
commons-io-1.3.1.jar
commons-fileupload-1.2.jar
參考資料:
在Struts 2中實現文件上傳
posted on 2007-07-19 21:57
jht 閱讀(17168)
評論(11) 編輯 收藏 所屬分類:
Struts2