1. 程式人生 > >升級struts2-2.5,其實並沒有想象中的那麼難

升級struts2-2.5,其實並沒有想象中的那麼難

最近公司在阿里的伺服器總是受到DDOS攻擊,和老大一起查看了攻擊詳情發現是由於struts版本過低,導致被入侵,於是升級了一下struts的版本到2.5,希望可以一次性解決這個問題


首先,替換jar包(注意:並不是圖片裡有的都要放到自己的專案中,自己的專案中用到了哪些,就替換掉哪些,要注意的是:如果你的專案中沒有用到log4j.xml在換成2.5以後,執行tomcat啟動專案,總是會提示你專案中缺少log4j.xml,這個問題自己建立一個log4j.xml放在src下,配一些最基本的東西就可以了,如果原來的專案是log4j.jar要保留,把log4j-api-2.8.2.jar也是要拷貝進去不然的話,在刪除log4j.jar之後會報錯,tomcat啟動不起來

然後刪除自己專案中的xwork-core-2.3.20.jar,因為這個類庫在struts升級到2.5版本已經包含在了struts2-core中了,所以一定要刪除

之後要在自己的web.xml中修改下面程式碼

<filter>

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

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

</filter>

把  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 中的.ng 去掉 修改為

<filter>

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

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

</filter>

修改之後,需要前往struts.xml中 把原先的頭部資訊修改為

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">

其實也就是把版本換成2.5

在專案裡有jsp的小夥伴們,如果你們用了s標籤,請修改一下幾點

<s:setname="myCode" value=" *** "/>

改成

<s:setvar="myCode" value=" *** "/>

-------------------------------------------------------------------------------------------------------------------------------------

<s:propertyescape="true" var="someProperty"/>

改成

<s:propertyescapeHtml="true" var="someProperty"/>

還有就是

由於新版本的Struts預設不能修改action的訪問字尾,不能使用通配的方式呼叫action裡的方法,所以新增:

<constant name="struts.enable.DynamicMethodInvocation" value="true"/>

<constant name="struts.enable.SlashesInActionNames" value="true"/>

使得<constant name="struts.action.extension" value="do" />可以生效

如原版本的struts的版本小於等於2.3,且專案進行動態方法配置,則可在全域性中新增<global-allowed-methods>regex:.*</global-allowed-methods>另外也是最重要的:struts2.5版本適用jdk1.7或者以上

相關推薦

升級struts2-2.5其實沒有想象那麼

最近公司在阿里的伺服器總是受到DDOS攻擊,和老大一起查看了攻擊詳情發現是由於struts版本過低,導致被入侵,於是升級了一下struts的版本到2.5,希望可以一次性解決這個問題首先,替換jar包(注意:並不是圖片裡有的都要放到自己的專案中,自己的專案中用到了哪些,就替換掉

找一家靠譜的雲桌面廠家其實沒有想象那麼

首先明確需求:明確自身的需求很重要,在部署雲桌面前我們首先要明確自身的使用需求,知道自己是屬於普通辦公應用還是屬於複雜辦公應用和3D設計應用的,是否需要播放高清視訊,以及有多少個使用者使用,是前期只在一個部門先試點實行後期在全面推广部署的等一些需求都需要提前明確的。 其次找廠家:明確需求後這裡就該說到如

電路設計_閱讀英文資料手冊沒有想象那麼

說明書的正文究竟包含哪幾部分,應根據不同產品的具體情況來確定。 (1)Release Date: 檢查手冊釋出的日期,是預備版還是修正版; (2)General Description:一般性描述,但有時也會給出一些其他資料中沒有提及的特性或用法; (3)Featu

struts2 2.5.5 出現404 異常沒有對應的名稱空間或者沒有對應的Action(套路)

2.5.5版本套路一 出現異常 There is no Action mapped for namespace [/] and action name [roleAction_addUI] associated with context path [/OA]. - [un

Struts2升級2.5.16

    在對專案進行安全檢測的時候發現因為Struts2版本的問題,專案存在著很大的漏洞。因此需要對Struts2進行升級,解決漏洞。     直接將Struts2升級到最新版本2.5.16。     首先需要下載struts2.5.16的

Centos6.8 python2.6升級2.7安裝setuptools和pip

題記:申請了一個測試伺服器,自帶python版本為2.6,但是至少pyhton2.7才能滿足我的需要,花了兩個晚上終於搞定,因此將遇到的問題整理一下。 一、python2.6升級至Python2.7 1.檢視當前python版本 $ pyt

Java EE之Struts2-2.5配置

ins tag src servle 登錄 through found 過濾 log 開學以來,已經三周了。Java EE卻不太走心,於是,這幾日空杯心態,重新學習。復習了Java SE和Java Web開發技術,然後入手Struts2。為了使用最新版本的Structs2,

輸入2,5列印:1-10 表格

  ''' 輸入2,5,列印: 1 2 3 4 5 6 7 8 9 10 ''' #行數 m = int(input('請輸入一個整數')) n = int(input('請在輸入一個整數')) for i in range(m): for j in range(n):

linux後臺執行程式不掛斷的執行注意沒有後臺執行的功能 &是指在後臺執行但當用戶推出(掛起)的時候命令自動也跟著退出

** linux後臺執行程式,不掛斷的執行,注意並沒有後臺執行的功能 &是指在後臺執行,但當用戶推出(掛起)的時候,命令自動也跟著退出 ** 正文 回到頂部 nohup nohup 命令執行由 Command引數和任何相關的 Arg引數指定的命令,忽略所有結束通話(SIG

struts2 2.5(動態Action struts.xml web.xml 配置)

動態Action 要使用動態Action的時候,需要在struts.xml中加入 <constant name="struts.enable.DynamicMethodInvocation" value="true" /> 這句程式碼起到了說明動態Actio

struts2 2.5以上版本安裝web.xml的配置(包括核心過濾器filter)

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-

Hadoop 2.3.0-cdh5.0.2升級Hadoop 2.5.0-cdh5.3.1

一、準備升級包 for line in `cat /home/hadoop/platform/hadoop.list|awk '{print $1}'`; do echo $line;ssh $line "/bin/mkdir /home/hadoop/platform"

Struts 版本升級2.5.17 報錯問題

由於安全評估要求,需要將Struts版本升級到2.5.17,原有版本2.5.16。本專案中用到的struts包有:struts2-core,struts2-json-plugin,struts2-spring-plugin。均為2.5.16 版本。專案採用mav

struts升級2.5.2遇到的問題及解決方案(推薦)_java

原來的版本是2.3.x,由於安全原因需要升級到2.5.2。 1,2.5.2版本不再提供xwork.jar ,整合到了 struts-core包中。 2,方法不能訪問的問題,需要在每個action配置檔案中加上 strict-method-invocation="false"

Struts2 學習之路(二):2.4 Struts2(2.5.14.1版本)的萬用字元匹配問題

struts.xml 配置檔案中萬用字元的匹配 可以匹配action節點中的class屬性,method屬性,result子節點的name屬性,甚至是result子節點的路徑內容 因為2.5.x版本

看完後搞懂ARP的工作原理其實不難(好文)

原址本期,我就來解答一下關於ARP的工作原理吧! 思路1、思考ARP到底是幹嘛的? 為什麼要有它?why?  2、掌握ARP的工作原理。技術人,要掌握一種技術,絕對離不開以上兩點基本思路,帶著這兩個思路去學習新技術,你絕對是不可能學不會的。再笨,你也會學得很深刻的。甚至,你還

甲級PAT 1016 Phone Bills(這是到目前為止甲級寫的最長最複雜的程式碼其實不難邏輯理順了就好)

1016 Phone Bills(25 分) A long-distance telephone company charges its customers by the following rules: Making a long-distance call costs

Struts2 2.5.2的套路

最近接觸了Struts2這個JavaWeb框架,結果被套路了,而且套路的很慘。 要學Struts2 就必然要下載Struts2的jar包,在官網上下載了最新的,沒錯就是這個: 這個東西真是把我快搞瘋了。 然後有了這個東西就開始我的配置Struts2之旅,我沒有用MyEcli

遠端辦公也許沒有想象那麼輕鬆

春節假期結束已經一個多星期了,隨著疫情的逐漸控制,很多企業陸陸續續開啟了復工模式,但為了安全考慮,有一部分企業仍然採取延遲復工的策略,比如大部分的網際網路公司,像我們熟悉的阿里、騰訊就規定復工時間延遲到2月17日,而企業的日常工作就通過遠端辦公的方式展開,藉著這次東風,很多人體驗到了遠端辦公的魅力之處,更有甚

山竹”臺風過後發覺選擇數據中心沒有想象那麽簡單了

進行 公司 遭遇 相關 cda cbc 裏的 世界級 netflix 山竹”臺風過後,發覺選擇數據中心沒有想象中那麽簡單了 超強臺風“山竹”剛剛過去4天,香港地區在第一個工作日已陸續復產復業復市。有誰敢相信,“山竹”襲來的當天,香港天文臺的10號風球信號整整掛足了10個小