struts2入門(mén)(搭建環(huán)境、配置、示例)詳解
在慕課網(wǎng)學(xué)習(xí)struts2入門(mén)課程,在官網(wǎng)下載的最新的struts-2.5.5-all.zip,JDK使用的是jdk1.6,Tomcat9.0,一直報(bào)錯(cuò)【java.lang.UnsupportedClassVersionError】,版本不一致,可是各種換版本也都不好使,無(wú)奈最后找到了一篇較新的博文,按照他的Struts2版本進(jìn)行了配置,終于可以用了。
------不過(guò)還是不太明白為啥struts-2.5.5無(wú)論是配jdk1.6還是jdk1.8,還是更換tomcat版本,都不好用。有明白清楚的還請(qǐng)多指教------
1、下載Struts2的jar包
下載地址:http://archive.apache.org/dist/struts/binaries/
我用的是struts-2.3.14-all.zip這個(gè)版本
2、創(chuàng)建一個(gè)webproject項(xiàng)目
下面給出所有文件均創(chuàng)建完成后的工程示圖。

3、導(dǎo)入Struts2所需jar包
因?yàn)橹皇鞘纠绦?,只需要?dǎo)入Struts2支持最小的包就可以了,對(duì)于添加的最小包網(wǎng)上各有各的說(shuō)法,這里給出一個(gè)保險(xiǎn)的方法。
解壓剛才下載的壓縮包struts-2.3.14-all.zip,在apps文件夾下有個(gè)struts2-blank.war包,打開(kāi)它,到WEB-INF/lib目錄下,如下圖所示,即為所需的最小包。包含的包應(yīng)該和具體的Struts版本有關(guān)。

(因?yàn)橹坝玫淖钚掳姹緎truts-2.5.5-all.zip,沒(méi)有struts2-blank.war包,這也是放棄最新版本struts2的原因之一)
4、配置web.xml
下面進(jìn)入到具體的配置編碼階段。

這里需要注意的是:
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
版本不同,過(guò)濾器類(lèi)會(huì)不一樣,根據(jù)自己的struts版本進(jìn)行修改
5、配置struts.xml
下面需要?jiǎng)?chuàng)建struts.xml文件,配置strust2要調(diào)用的action。直接新建在src目錄下,那樣部署的時(shí)候會(huì)自動(dòng)發(fā)布到WEB-INF/classes目錄下,或者直接創(chuàng)建在WEB-INF/classes目錄下面。

其中,package元素,作用類(lèi)似于Java包的機(jī)制,他是用于分門(mén)別類(lèi)的一個(gè)工具,extends屬性如他的名字一樣,它繼承了struts-default這個(gè)包的所有信息,一般我們自己創(chuàng)建一個(gè)包最好都繼承它,因?yàn)樗麨槲覀兲峁┝私^大部分的功能,你可以在struts2-core的jar包中的struts-default.xml文件中找到這個(gè)包。action元素對(duì)應(yīng)與你的表單,例如你的表單的action="helloworld",那么該表單提交后就會(huì)將參數(shù)交予action的name="helloworld"的實(shí)現(xiàn)類(lèi)處理。result元素為action的結(jié)果,它由動(dòng)作類(lèi)返回的控制字段選擇。
6、寫(xiě)action類(lèi)(HelloWorldAction.java)
這個(gè)類(lèi)主要用于struts2跳轉(zhuǎn)到這個(gè)action后。默認(rèn)執(zhí)行execute()方法。并根據(jù)結(jié)果返回字符,然后struts.xml根據(jù)返回的字符跳到相應(yīng)的頁(yè)面

7、寫(xiě)jsp頁(yè)面
新建一個(gè)jsp頁(yè)面來(lái)呈現(xiàn)信息。result.jsp

8、部署運(yùn)行
在Tomcat中運(yùn)行該項(xiàng)目.
然后打開(kāi)瀏覽器,輸入http://localhost:8080/HelloWorldStruts2/helloworld,將會(huì)得到result.jsp對(duì)應(yīng)的頁(yè)面結(jié)果
referance:
struts2的流程和一系列相關(guān)知識(shí)代碼解析
總結(jié)
以上就是本文關(guān)于struts2入門(mén)(搭建環(huán)境、配置、示例)詳解的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
SpringCloud Gateway動(dòng)態(tài)轉(zhuǎn)發(fā)后端服務(wù)實(shí)現(xiàn)過(guò)程講解
這篇文章主要介紹了SpringCloud Gateway動(dòng)態(tài)轉(zhuǎn)發(fā)后端服務(wù)實(shí)現(xiàn)過(guò)程,簡(jiǎn)單的路由轉(zhuǎn)發(fā)可以通過(guò)SpringCloudGateway的配置文件實(shí)現(xiàn),在一些業(yè)務(wù)場(chǎng)景種,會(huì)需要?jiǎng)討B(tài)替換路由配置中的后端服務(wù)地址,單純靠配置文件無(wú)法滿(mǎn)足這種需求2023-03-03
將List集合中的map對(duì)象轉(zhuǎn)為L(zhǎng)ist<對(duì)象>形式實(shí)例代碼
這篇文章主要介紹了將List集合中的map對(duì)象轉(zhuǎn)為L(zhǎng)ist<對(duì)象>形式實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Spring實(shí)戰(zhàn)之XML與JavaConfig的混合配置詳解
大家都知道Spring的顯示配置方式有兩種,一種是基于XML配置,一種是基于JavaConfig的方式配置。那么下這篇文章主要給大家分別介紹如何在JavaConfig中引用XML配置的bean以及如何在XML配置中引用JavaConfig,需要的朋友可以參考下。2017-07-07
SpringBoot整合ShedLock解決定時(shí)任務(wù)防止重復(fù)執(zhí)行的問(wèn)題
ShedLock是一個(gè)用于分布式系統(tǒng)中防止定時(shí)任務(wù)重復(fù)執(zhí)行的庫(kù),本文主要介紹了SpringBoot整合ShedLock解決定時(shí)任務(wù)防止重復(fù)執(zhí)行的問(wèn)題,具有一定的參考價(jià)值,感興趣的可以了解一下2025-01-01
java實(shí)現(xiàn)TCP socket和UDP socket的實(shí)例
這篇文章主要介紹了本文主要介紹了java實(shí)現(xiàn)TCP socket和UDP socket的實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Java concurrency之互斥鎖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
本文通過(guò)示例代碼給大家介紹了Java concurrency之互斥鎖的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-06-06
Spring Security添加驗(yàn)證碼的兩種方式小結(jié)
使用spring security的時(shí)候,框架會(huì)幫我們做賬戶(hù)密碼的驗(yàn)證,但是如我們需要添加一個(gè)驗(yàn)證碼,就需要對(duì)配置文件進(jìn)行修改,這篇文章主要給大家介紹了關(guān)于Spring Security添加驗(yàn)證碼的兩種方式,需要的朋友可以參考下2021-10-10

