使用Struts2必須配備的Jar包
Struts2.1.x終于推出正式版了,下載后按照Struts 2.0.14版進(jìn)行配置,拋出異常說(shuō)無(wú)法裝載 (org.apache.struts2.dispatcher.multipart.MultiPartRequest),異常信息提示摘不到 org.apache.commons.fileupload.RequestContext類,搜索struts2.1.6帶的所有jar包,發(fā)現(xiàn)RequestContext類并不在struts2-core-2.1.6.jar 中,在commons-fileupload-1.2.1.jar包中,之前struts2.0.14并不需要此包,只有在要用到上傳組件的時(shí)候才需要??赡苁莝truts2.1.6對(duì)文件上傳功能的改進(jìn)。因此要想正常使用struts2.1.6,至少需要如下6 個(gè)jar包:
struts2-core-2.1.6.jar
freemarker-2.3.13.jar
commons-logging-1.0.4.jar
ognl-2.6.11.jar
xwork-2.1.2.jar
commons-fileupload-1.2.1.jar
要注意的是,Struts 2.1.6的最小jar包配置比Struts2.0.14多了一個(gè)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中有一個(gè)value屬性,表示一個(gè)要轉(zhuǎn)入的URL,而
Struts2.1.6的Result注釋中使用location屬性代替了value屬性(不再有value屬性了),但它們的使用方法相同。
因此,讀者在使用Struts2.1.x時(shí)要注意,這一版本與Struts2.0.x并不完全兼容(但大部分還是兼容的)。據(jù)我的經(jīng)驗(yàn),Struts2.1.x版本將是比較穩(wěn)定的一個(gè)Struts2版本,因此,Struts1.x就是在Struts1.1版本才開始流行起來(lái)的。
以前也測(cè)試過(guò)Struts2的其他版本,經(jīng)部分測(cè)試,目前Struts 2分為三個(gè)版本階段:Struts 2.0.9及以前版本、Struts2.0.10至Struts2.0.14、Struts 2.1.x,這三類版本都不太兼容,如果確定使用struts2來(lái)開發(fā)程序,建議直接使用struts2.1.6及以后的版本,這是一個(gè)比較穩(wěn)定的Struts2版本。
【編輯推薦】