在配置Struts2.1.6时,提示无法装载,异常信息提示找不到org.apaache.commons.fileupload.RequestContext类,搜索Struts2.1.6带的所有Jar包,发现RequestContext类并不在Struts2-core-2.1.6.jar中,在commons-fileupload-1.2.1.jar包中,之前Struts2.0.14并不需要此包,只有在要用到上传组件时才需要。因此要想正常使用Struts2.1.6,至少需要如下6个jar包:

1.Struts2-core-2.1.6.jar

2.freemarker-2.3.13.jar

3.commons-logging-1.0.4.jar

4.ognl-2.6.11.jar

5.xwork-2.1.2.jar

6.commons-fileupload-1.2.1.jar

要注意的是,Struts2.1.6的最小jar包配置比Struts2.0.14多了一个commons-fileupload-1.2.1.jar。

如果要使用Struts2的注释功能,在Struts2.0.14中只要引用了struts2-core-2.1.6.jar文件即可,而在struts2.1.6中还需要引用struts2-convention-plugin-2.1.6.jar文件,而且注释类的包夜变了(又增加一些新的注释类),Struts2.0.14中的注释类在org.apache.struts2.config包中,而Struts2.1.6的注释类在org.apache.struts2.convention.annotation包中。除此之外,有些注释的属性名也变了,如Result注释在Struts2.0.14中有一个value属性,表示一个要转入的URL,而在Struts2.1.6的Result注释中使用location属性代替,但它们的使用方法相同。

因此,在使用Struts2.1.x时要注意,这一版本与Struts2.0.x并不完全兼容。Struts2.1.x版本将是比较稳定的一个Strut2版本,因此,Struts1.x就是在Struts1.1版本才开始流行起来的。

以前也测试过Struts2的其他版本,经过部分测试,目前Struts 2分为三个版本阶段:Struts 2.0.9及以前的版本,Struts2.0.10至Struts2.0.14,Struts2.1.x,这三类版本都不太兼容,如果确定使用Struts2来开发,建议直接使用Struts2.1.6及以后版本,这是比较稳定的Struts2版本。

)