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