zoukankan      html  css  js  c++  java
  • struts2 文件上传显示进度条报错

    2013-5-9 15:53:09 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet default threw exception
    com.opensymphony.xwork2.inject.DependencyException: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No mapping found for dependency [type=com.opensymphony.xwork2.LocaleProvider, name='default'] in public void com.nova.core.DaisyMultiPartRequest.setLocaleProvider(com.opensymphony.xwork2.LocaleProvider).
    at com.opensymphony.xwork2.inject.ContainerImpl.addInjectorsForMembers(ContainerImpl.java:144)
    at com.opensymphony.xwork2.inject.ContainerImpl.addInjectorsForMethods(ContainerImpl.java:113)
    at com.opensymphony.xwork2.inject.ContainerImpl.addInjectors(ContainerImpl.java:90)
    at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:71)
    at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:67)
    at com.opensymphony.xwork2.inject.util.ReferenceCache$CallableCreate.call(ReferenceCache.java:150)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at com.opensymphony.xwork2.inject.util.ReferenceCache.internalCreate(ReferenceCache.java:76)
    at com.opensymphony.xwork2.inject.util.ReferenceCache.get(ReferenceCache.java:116)
    at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.<init>(ContainerImpl.java:356)
    at com.opensymphony.xwork2.inject.ContainerImpl$5.create(ContainerImpl.java:311)
    at com.opensymphony.xwork2.inject.ContainerImpl$5.create(ContainerImpl.java:307)
    at com.opensymphony.xwork2.inject.util.ReferenceCache$CallableCreate.call(ReferenceCache.java:150)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at com.opensymphony.xwork2.inject.util.ReferenceCache.internalCreate(ReferenceCache.java:76)
    at com.opensymphony.xwork2.inject.util.ReferenceCache.get(ReferenceCache.java:116)
    at com.opensymphony.xwork2.inject.ContainerImpl.getConstructor(ContainerImpl.java:603)
    at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:204)
    at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:514)
    at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:524)
    at com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:555)
    at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:580)
    at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:553)
    at org.apache.struts2.dispatcher.Dispatcher.wrapRequest(Dispatcher.java:750)
    at org.apache.struts2.dispatcher.FilterDispatcher.prepareDispatcherAndWrapRequest(FilterDispatcher.java:364)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:404)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No mapping found for dependency [type=com.opensymphony.xwork2.LocaleProvider, name='default'] in public void com.nova.core.DaisyMultiPartRequest.setLocaleProvider(com.opensymphony.xwork2.LocaleProvider).
    at com.opensymphony.xwork2.inject.ContainerImpl.createParameterInjector(ContainerImpl.java:239)
    at com.opensymphony.xwork2.inject.ContainerImpl.getParametersInjectors(ContainerImpl.java:229)
    at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.<init>(ContainerImpl.java:293)
    at com.opensymphony.xwork2.inject.ContainerImpl$3.create(ContainerImpl.java:117)
    at com.opensymphony.xwork2.inject.ContainerImpl$3.create(ContainerImpl.java:114)
    at com.opensymphony.xwork2.inject.ContainerImpl.addInjectorsForMembers(ContainerImpl.java:141)
    ... 39 more

    解决方法一:

      <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
          <init-param>  
            <param-name>config</param-name>  
            <param-value>struts-default.xml,struts-plugin.xml,struts2/struts-*.xml</param-value>  
        </init-param>  
     </filter>
    即设置初始化参数时加载以下文件:struts-default.xml(必须),struts-plugin.xml(可选)二个额外的配置文件.
    原因:
    struts-default.xml是默认配置文件,一些必须的框架参数都默认设置在此配置文件中.
     
    解决方法二:
    直接将自己的配置文件struts.xml的名称改为struts-default.xml,然后再将struts源文件中的struts-default.xml引入进自己的配置文件中
    用<include file="struts-default.xml"/>, 如果你的配置文件中需要返回json数据,那么要将json-default依赖的文件“struts-plugin.xml”也引入进去。
     
    解决方法三(最终解决方法):
    其实这个错误的意思是找不到“com.opensymphony.xwork2.LocaleProvider”的配置文件映射,只所以会报这个错是因为在实现进度条时重写的JakartaMultiPartRequest类中保留了:

    @Inject
    public void setLocaleProvider(LocaleProvider provider) {
    defaultLocale = provider.getLocale();
    }

    这段代码要求struts的配置文件中要有LocaleProvaider的映射提供,如果strut2.xml中没有配置该文件就会报这个错......

    解决方法:在自己重写的JakartaMultiPartRequest文件中将上面的那段代码删除就可以了、、、(解决方法一、二都可以不用做了!)

     
  • 相关阅读:
    java-并发解决方案
    linux-常用快捷键
    java-进程
    vim-常用快捷键
    数据库-事务
    spring-事务实现原理
    gdb
    x86 下的 struct 變數 member 擺放位置
    du 查看 資料夾 佔用空間
    ADC 計算時,階數的選擇
  • 原文地址:https://www.cnblogs.com/daisyleamo/p/3069226.html
Copyright © 2011-2022 走看看