这个问题麻烦了半天
解决思路:
1. 整理 jar包 : 必须要有以下 9个包
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.6.jar
struts2-core-2.3.8.jar
xwork-core-2.3.8.jar
注意: 千万不要有版本不同的放在一起,同类文件只能有一个
2.web.xml 中必须配置监听器
<context-param>//这个加载配置文件 <param-name>contextConfigLocation</param-name> <param-value>classpath:application*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 帮我们开启和关闭 session 防止在需要数据的时候没有数据,放在上面,防止 struts 将所有的事情做完了才到这里 --> <filter> <filter-name>OpenSessionViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>OpenSessionViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
目前到这里 能解决,如果还有什么需要补充的以后再说,欢迎看客帮忙补充
另外,不同版本的struts 的监听器也是不同的
2.16 以后的 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
2.12以前的 org.apache.struts2.dispatcher.Filterdispatcher
至于2个版本中间的我就不知道了
PS:
如果有问题,一定要在下方指出来, 大家一起讨论一哈