亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

轉載:Struts2.3.15.1升級總結

2019-11-14 22:36:16
字體:
來源:轉載
供稿:網友
轉載:Struts2.3.15.1升級總結

轉載網址:http://blog.csdn.net/amosryan/article/details/10350481

由于大家都懂的原因,涉struts2的項目需要將struts2相關包升級至2.3.15.1。今將升級方法和常見問題解決簡單總結如下。

一、基本升級操作

1. 獲取Struts2.3.15.1jar包

從Struts官網下載struts2.3.15.1發布包:

http://apache.fayea.com/apache-mirror//struts/library/struts-2.3.15.1-lib.zip

2.工程中的jar包替換

以下清單為示例,請根據工程實際情況參照替換成struts-2.3.15.1-lib.zip包中的版本:

原始版本(版本號為示例)

升級后版本

commons-lang-2.*.jar

commons-lang-2.4.jar

commons-lang3-3.1.jar (新增)

commons-logging-1.*.jar

commons-logging-1.1.3.jar

commons-fileupload-1.*.*.jar

commons-fileupload-1.3.jar

freemarker-2.3.*.jar

freemarker-2.3.19.jar

ognl-*.*.*.jar

ognl-3.0.6.jar

struts2-core-2.*.*.*.jar

struts2-core-2.3.15.1.jar

struts2-sPRing-plugin-2.*.*.*.jar

struts2-spring-plugin-2.3.15.1.jar

struts2-dojo-plugin-2. *.*.*.jar

struts2-dojo-plugin-2.3.15.1.jar

struts2-dwr-plugin-2. *.*.*.jar

struts2-dwr-plugin-2.3.15.1.jar

xwork-core-2.3.*.*.jar或者xwork-2.*.*.jar

xwork-core-2.3.15.1.jar

javassist-3.*.*.GA.jar

javassist-3.11.0.GA.jar

aspectjrt-1.5.2a.jar(見附件3.其它jar包)

aspectjweaver-1.5.2a.jar(見附件3.其它jar包)

(這三個文件若沒有則需添加)

注1:工程中以struts2打頭的jar包均需替換為2.3.15.1版本;

注2:除非表格中另有說明,則原始版本中若不存在相應jar包,則也不需要添加相應的2.3.15.1版jar包;

3.web.xml可能的修改

注意:如文件中原本已是調整后的配置,則請忽略本部分內容。

3.1修改struts2dispatcher過濾器

原始內容:

<filter>

<filter-name>struts2</filter-name>

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

</filter>

修改后內容:

<filter>

<filter-name>struts2</filter-name>

<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

</filter>

3.2去掉或注掉ActionContextCleanUp過濾器

請去掉或注掉web.xml中ActionContextCleanUp過濾器:

<!--filter>

<filter-name>struts-cleanup</filter-name>

<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>

</filter-->

<!--filter-mapping>

<filter-name>struts-cleanup</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping-->

注意:不修改可能導致第二節中問題5。

4.所有*validators.xml可能的修改

注意:如文件中原本已是調整后的配置,則請忽略本部分內容。

4.1標簽頭的調整

原始內容:

<!DOCTYPEvalidatorsPUBLIC

"-//OpenSymphonyGroup//XWorkValidatorConfig1.0//EN"

"http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">

修改后內容:

<!DOCTYPEvalidatorsPUBLIC

"-//ApacheStruts//XWork Validator Config 1.0//EN"

"http://struts.apache.org/dtds/xwork-validator-config-1.0.dtd">

注意:不修改可能導致第二節中問題2。

二、常見問題及解決方案

1. NoClassDefFoundError:com/opensymphony/xwork2/util/TextUtils問題解決

現象:啟動報出以下錯誤

<2013-7-30 下午03時58分11秒 CST> <Error> <HTTP> <BEA-101020> <[ServletContext@13341578[app:piccallweb module:piccallweb path:/piccallweb spec-version:2.5]] Servlet failed with Exceptionjava.lang.NoClassDefFoundError:com/opensymphony/xwork2/util/TextUtils at com.googlecode.jsonplugin.SerializationParams.<init>(SerializationParams.java:38)at com.googlecode.jsonplugin.JSONResult.writeToResponse(JSONResult.java:194)at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:184)at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:371)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:275)Truncated. see log file for complete stacktrace> 

原因:xwork-core-2.3.15.1.jar中由于升級現已去除com.opensymphony.xwork2.util.TextUtils。

解決方案:

1.替換jar包

原始版本

修改后版本

jsonplugin-0.**.jar

json-lib-1.1-jdk13.jar

struts2-json-plugin-2.3.15.1.jar

json-lib-2.3-jdk15.jar

struts2-junit-plugin--2.3.15.1.jar

2.所有*struts*.xml配置的extends="struts-default"改成extends="json-default"

2.啟動報com.opensymphony.xwork2.config.ConfigurationException問題解決

現象:啟動報出以下錯誤(僅截取了最上面和最下面的異常信息)

com.opensymphony.xwork2.config.ConfigurationException:Caught Exception while registering Interceptor classorg.apache.struts2.interceptor.validation.AnnotationValidationInterceptoratcom.opensymphony.xwork2.ObjectFactory.buildInterceptor(ObjectFactory.java:214) ~[xwork-core-2.3.15.1.jar:2.3.15.1]……Caused by:java.net.UnknownHostException:www.opensymphony.com atjava.net.InetAddress.getAllByName0(InetAddress.java:1157) ~[na:1.6.0_29]atjava.net.InetAddress.getAllByName(InetAddress.java:1083) ~[na:1.6.0_29]atjava.net.InetAddress.getAllByName(InetAddress.java:1019) ~[na:1.6.0_29]

原因:由于xwork升級,validator.xml的文件頭dtd配置需要做相應更新。

解決辦法:參見第四節中第(1)部分內容。

3. struts2的標簽報錯問題解決

現象:顯示頁面報錯:struts2的標簽使用出現問題,標簽中不支持表達式,如:EL表達式

 This attribute does not supportrequest time values.<s:select list="#{'':'','0':'否','1':'是'}"id="prpCmainProp.quakeFlag" name="prpCmainProp.quakeFlag"value="${prpCmainProp.quakeFlag}"

原因:struts2.3.15中使用s標簽,默認不支持表達式。

解決辦法:修改struts-tags.tld中所有的rtexprvalue標簽屬性為true。

<rtexprvalue>true</rtexprvalue>

4. Ajax異步調用中文參數后臺變亂碼問題解決

現象:前臺通過POST往后臺傳值時中文字符為亂碼

原因:struts2.3.15中org.apache.struts2.dispatcher.Dispatcher類prepare方法中新增了對于異步調用情況字符集強制轉換為UTF-8(見下方代碼),因此如果工程中jsp指定的字符集不是UTF-8,則中文傳至后臺會變成亂碼。

 if ("xmlhttpRequest".equals(request.getHeader("X-Requested-With"))) {     encoding = "UTF-8";}

解決辦法:改寫org.apache.struts2.dispatcher.Dispatcher類注掉上面三行內容

后直接放在工程源碼

5. ActionContextCleanUp is deprecatedWARNING問題解決

現象:系統啟動報“>>>ActionContextCleanUp<<< is deprecated! Pleaseuse the new filters!”WARNING

原因:從Struts2.1.3起廢棄了ActionContextCleanUp過濾器,其相關功能在StrutsPrepareAndExecuteFilter實現。

解決辦法:參見第三節中第(2)部分內容。

6. struts2TextFieldTagSelectTag等標簽required屬性報錯問題解決

現象:JSP報“contains no methods named setRequired”錯誤

原因:2.3.X版本中required屬性已替換為requiredLabel 解決辦法:批量替換標簽中的required為requiredLabel。

7. OGNL表達式問題解決

現象:部分系統中對com.opensymphony.xwork2.util.OgnlUtils.java和ognl.OgnlRuntime.java有單獨覆蓋,升級后存在不兼容現象

解決辦法:新的Ognl中已經修復了歷史OgnlUtils中存在的問題,所以刪除系統中OgnlUtils.java即可,ognl.OgnlRuntime.java這個文件按照新版本Ognl進行覆蓋修改

三、其它注意事項

為保證更新成功,請注意刪除工程在中間件中產生的臨時文件,以weblogic為例,WebLogicDomain下工程的緩存文件所在目錄可能包括但不限于以下位置:

    • [domain所在目錄]/servers/[server名]/tmp
    • weblogic.xml中配置的working-dir目錄

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩成人激情视频| 九色成人免费视频| 欧美人与性动交| 亚洲理论电影网| 亚洲xxxx3d| 热久久这里只有| 国产一区二区三区日韩欧美| 91探花福利精品国产自产在线| 亚洲激情 国产| 欧美日韩国产精品一区二区三区四区| 欧美性受xxxx白人性爽| 亚洲精品久久久一区二区三区| 国产亚洲精品激情久久| 国产第一区电影| 国产91在线高潮白浆在线观看| 亚洲欧美一区二区三区情侣bbw| 美日韩精品免费视频| 亚洲影院色无极综合| 欧洲成人免费视频| 亚洲一区二区三区在线视频| 中文字幕亚洲无线码在线一区| 91av在线免费观看视频| 亚洲白拍色综合图区| 国产欧美va欧美va香蕉在线| 国产精品自拍小视频| 91午夜在线播放| 日韩**中文字幕毛片| 国产欧美日韩91| 超碰91人人草人人干| 亚洲一区二区免费| 久热精品视频在线观看一区| 日韩欧美国产黄色| 亚洲一区二区三区成人在线视频精品| 日韩精品欧美国产精品忘忧草| 亚洲欧美国产精品| 国产精品99导航| 欧美疯狂xxxx大交乱88av| 亚洲成av人影院在线观看| 日韩精品免费在线视频观看| 大量国产精品视频| 97精品国产91久久久久久| 日韩精品在线电影| 成人激情视频在线| 日韩精品视频中文在线观看| 国产精品高潮粉嫩av| 久久999免费视频| 午夜精品久久久久久久99热| 欧美成人sm免费视频| 国产精品美女主播| 成人在线一区二区| 中文字幕在线看视频国产欧美在线看完整| 亚洲日本中文字幕免费在线不卡| 久久频这里精品99香蕉| 精品亚洲精品福利线在观看| 26uuu另类亚洲欧美日本一| 精品人伦一区二区三区蜜桃免费| 久色乳综合思思在线视频| 国产精品一区久久久| 欧美最猛性xxxxx(亚洲精品)| 亚洲国产精品99久久| 国产一区二区三区视频免费| 日韩性生活视频| 久久久97精品| www.色综合| 美日韩精品视频免费看| 日本高清视频精品| 精品成人69xx.xyz| 欧美香蕉大胸在线视频观看| 欧美精品在线极品| 国产精选久久久久久| 欧美日韩另类视频| 亚洲精品一区久久久久久| 日韩中文字幕欧美| 日韩精品在线视频| 中文字幕成人精品久久不卡| 色综合久综合久久综合久鬼88| 国产一区二区三区在线视频| 国产亚洲a∨片在线观看| 91青草视频久久| 国产精品一区=区| 欧美极品少妇xxxxⅹ免费视频| 91香蕉亚洲精品| 欧美激情视频播放| 国产suv精品一区二区| 久久视频这里只有精品| 国产精品国产亚洲伊人久久| 岛国av一区二区三区| 久久久久久国产免费| 亚洲视频一区二区三区| 一区二区三区视频观看| 欧洲成人午夜免费大片| 亚洲视频自拍偷拍| 欧美午夜精品在线| 激情成人中文字幕| 国产69久久精品成人| 成人情趣片在线观看免费| 81精品国产乱码久久久久久| 综合网日日天干夜夜久久| 亚洲精品国产电影| 日韩高清电影好看的电视剧电影| 久久久999国产精品| 日韩中文字幕在线观看| 岛国av一区二区在线在线观看| 亚洲男人天堂2019| 久久伊人免费视频| 国产激情综合五月久久| 久久久久久久影院| 亚洲欧洲在线播放| 国产日本欧美一区| 久久69精品久久久久久国产越南| 九九热这里只有在线精品视| 中文字幕在线精品| 久国内精品在线| 日本不卡视频在线播放| 国产精品夜色7777狼人| 亚洲人成77777在线观看网| 一个人www欧美| 91tv亚洲精品香蕉国产一区7ujn| 亚洲第一男人天堂| 性色av香蕉一区二区| 亚洲精品理论电影| 国产成人啪精品视频免费网| 日韩电影第一页| 国产香蕉一区二区三区在线视频| 成人网页在线免费观看| 亚洲欧美日韩中文在线制服| 国产精品一区二区三区久久| 亚洲色在线视频| 国产亚洲精品久久久久动| 国产精品视频一区二区三区四| 亚洲天堂av女优| 日韩中文在线视频| 国产一区玩具在线观看| 北条麻妃一区二区在线观看| 久久视频国产精品免费视频在线| 中文字幕在线精品| 国产精品视频公开费视频| 成人动漫网站在线观看| 欧美在线性视频| 久久噜噜噜精品国产亚洲综合| 午夜精品一区二区三区视频免费看| 国产成人精品日本亚洲专区61| 福利二区91精品bt7086| 日韩在线观看精品| 国产精品成人v| 久久国产精品偷| 国产一区二区三区在线观看视频| 亚洲欧美日韩一区二区在线| 亚洲午夜未满十八勿入免费观看全集| 91精品国产91久久久久久不卡| 日韩av在线免费观看一区| 草民午夜欧美限制a级福利片| 日韩中文字幕国产精品| 亚洲aaaaaa| 91精品美女在线| 欧美在线观看一区二区三区| 亚洲二区中文字幕| 日韩精品一区二区视频| 91精品国产自产在线| 性欧美暴力猛交69hd| 日韩av中文字幕在线免费观看| 亚洲二区在线播放视频| 国产精品极品美女在线观看免费| 欧美视频中文字幕在线|