軟件介紹
struts2安裝包是一款采用MVC設計模式的Web框架,我們可以通過這款軟件來進行Web開發。如果你是一名Web開發人員,那么就可以直接通過Struts2完整版來建立模型,同時還可以用來進行視圖的數據交互。這款軟件的功能比起原先的Struts1有了非常明顯的進步。
軟件簡介
Struts2是一個基于MVC設計模式的Web應用框架,它本質上相當于一個servlet,在MVC設計模式中,Struts2作為控制器(Controller)來建立模型與視圖的數據交互。Struts 2是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合并的全新的Struts 2框架。其全新的Struts 2的體系結構與Struts 1的體系結構差別巨大。Struts 2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與ServletAPI完全脫離開,所以Struts 2可以理解為WebWork的更新產品。雖然從Struts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2的變化很小。
struts2安裝包軟件特色
在Action的實現方面
Struts1要求必須統一擴展自Action類,而Struts2中可以是一個POJO。
線程模型方面
Struts1的Action是單實例的,一個Action的實例處理所有的請求。Struts 2的Action是一個請求對應一個實例(每次請求時都新new出一個對象),沒有線程安全方面的問題。
Servlet依賴方面
Struts1的Action依賴于Servlet API,比如Action的execute方法的參數就包括request和response對象。這使程序難于測試。Struts2中的Action不再依賴于Servlet API,有利于測試,并且實現TDD。
封裝請求參數
Struts1中強制使用ActionForm對象封裝請求的參數。Struts2可以選擇使用POJO類來封裝請求的參數,或者直接使用Action的屬性。
表達式語言方面
Struts1中整合了EL,但是EL對集合和索引的支持不強,Struts2整合了OGNL(Object Graph NavigationLanguage)。
綁定值到視圖技術
Struts1使用標準的JSP,Struts2使用“ValueStack”技術。
類型轉換
Struts1中的ActionForm基本使用String類型的屬性。Struts2中使用OGNL進行轉換,可以更方便的使用。
Struts1中支持覆蓋validate方法或者使用Validator框架。Struts2支持重寫validate方法或者使用XWork的驗證框架。
Action執行控制的對比
Struts1支持每一個模塊對應一個請求處理,但是模塊中的所有Action必須共享相同的生命周期。Struts2支持通過攔截器堆棧為每一個Action創建不同的生命周期。
功能介紹
漏洞情況分析:
Struts2 是第二代基于Model-View-Controller (MVC)模型的java企業級web應用框架。它是WebWork和Struts社區合并后的產物。攻擊者可以利用Struts應用框架的命令執行漏洞,執行惡意Java代碼,最終導致網站數據被竊取、網頁被篡改等嚴重后果。具體分析情況如下:
1、 Apache Struts遠程命令執行漏洞
由于Apache Struts2的action:、redirect:和redirectAction:前綴參數在實現其功能的過程中使用了Ognl表達式,并將用戶通過URL提交的內容拼接入Ognl表達式中,從而造成攻擊者可以通過構造惡意URL來執行任意Java代碼,進而可執行任意命令。
2、 Apache Struts開放重定向漏洞
Apache Struts 2DefaultActionMapper在處理短路徑重定向參數前綴"redirect:"或"redirectAction:"時存在開放重定向漏洞,允許遠程攻擊者利用漏洞操作"redirect:"或"redirectAction:"后的信息,重定向URL到任意位置。
漏洞影響評估:
CNVD對遠程命令執行漏洞(CNVD-2013-28972)和開放重定向漏洞(CNVD-2013-28979)的評級為“高危”,由于redirect:和redirectAction:此兩項前綴為Struts默認開啟功能,因此ApacheStruts 2.3.15.1以下版本受到漏洞影響。該漏洞與在2012年對我國境內政府和重要信息系統部門、企事業單位網站造成嚴重威脅的漏洞(編號:CNVD-2013-25061,對應CVE-2013-1966)相比,技術評級相同且受影響版本更多。
漏洞處置建議:
廠商已經發布Apache Struts 2.3.15.1以修復此安全漏洞,建議Struts用戶及時升級到最新版本。
struts2安裝包安裝方法
下載struts2,需要用到的是full distribution,根據需要也可以下載諸如文檔doc和源代碼source等。
安裝tomcat或其他服務器,安裝Eclipse或其他JAVA編譯環境,將Struts2解壓并記錄下解壓的路徑。
在MyEclipse中配置服務器,此處以tomcat為例,進入MyEclipse,工具欄中選擇windows,然后選擇preference,然后選擇MyEclipse->Servers->Tomcat,然后選擇對應的Tomcat版本你你對應的安裝地址。
在MyEclipse中配置jdk,依次選擇window –> preferences – >java – >installed jres,如果沒有對應的JDK(不是JRE),選擇add,選擇standard VM -> next,選擇JDK對應的Directory。
建立Struts2程序,首先找到struts目錄下對應的apps目錄,解壓struts2-blank-2.1.6.war,Copy對應的lib的jar文件,需要除junit和spring-test之外的所有文件,其中commons-io的jar包會在文件上傳和下載時需要,其他為必須。在struts.xml中照原配置根據自己的需要進行對應的配置。
struts2安裝包使用技巧
如何手動配置Struts2項目?
首先新建一個web project,這里就以這個項目為例,項目名起為test。
解壓你下載好的struts2文件,找到里面的Apps——struts2-blank.war文件。
復制這個文件到你的Tomcat所在的目錄——webapps文件夾下。啟動Tomcat后就會自動生成一個struts2-blank項目。
這個項目就是你下載的struts版本中的一個空白的模板,里面是你這個版本的struts所必須的文件,只能多不能少,所以根據這個你才能配置成功,而不是看幾年前的教程,那樣你很難成功,不同的版本需要的jar包是不一樣的。
打開struts2-blank文件夾,找到里面的web.xml 文件,將這個文件打開,復制里面的內容到你項目的web.xml文件中。
打開lib文件夾,把里面的所有包都復制(ctrl+C),然后打開Myeclipse中的你的項目的lib目錄,粘貼即可(ctrl+V)。
最后將struts.xml文件復制到你項目的src目錄下,不要復制錯了,一旦錯了就木有用了。
復制后需要將里面<struts></struts>中間的部分都刪掉,否則會報錯的。
這樣你的struts就配置好了,部署一下就可以了。
注意:如果在部署的時候出現找不到類的情況說名你部署的時候jar包沒有導入成功,可以手動的復制進去方法如下:
打開Tomcat目錄下的webapps文件夾,找到你自己的項目,打開里面的lib文件夾,將第七步中的jar包復制進去就OK了。
- 精選留言 來自四川南充電信用戶 發表于: 2023-1-24
- 致敬經典,謝謝分享
- 精選留言 來自河北張家口電信用戶 發表于: 2023-4-20
- 基本能滿足我的需求,有效解決了大部分問題。
- 精選留言 來自貴州畢節移動用戶 發表于: 2023-4-16
- 好吧,這也太秀了吧
- 精選留言 來自廣西南寧電信用戶 發表于: 2023-3-11
- 謝謝分享,安裝速度很快
- 精選留言 來自黑龍江雞西電信用戶 發表于: 2023-7-19
- 很好的軟件!希望下載成功,操作簡單