日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

struts 修改拦截器修改返回值_关于struts2简单的介绍与示例

發(fā)布時(shí)間:2025/3/19 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struts 修改拦截器修改返回值_关于struts2简单的介绍与示例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Apache Struts 2是一個(gè)用于開(kāi)發(fā)Java EE網(wǎng)絡(luò)應(yīng)用程序的開(kāi)放源代碼網(wǎng)頁(yè)應(yīng)用程序架構(gòu)。它利用并延伸了Java Servlet API,鼓勵(lì)開(kāi)發(fā)者采用MVC架構(gòu)。

緣起于Apache Struts的WebWork框架,旨在提供相對(duì)于Struts框架的增強(qiáng)和改進(jìn),同時(shí)保留與Struts框架類似的結(jié)構(gòu)。2005年12月,WebWork宣布WebWork 2.2以Apache Struts 2的名義合并Struts。

Struts1設(shè)計(jì)的第一目標(biāo)就是使MVC模式應(yīng)用于web程序設(shè)計(jì)。在過(guò)去10年,Struts在更好的web應(yīng)用方面所做的工作是值得肯定的。在某些方面,Struts社區(qū)注意到這一框架的局限性,所以這個(gè)活躍的社區(qū)通過(guò)對(duì)MVC運(yùn)行模式的重新理解并同時(shí)引入一些新的建筑學(xué)方面的設(shè)計(jì)理念后,新的Struts2框架結(jié)構(gòu)更清晰,使用更靈活方便。

這一新的結(jié)構(gòu)包含應(yīng)用邏輯的橫切面攔截器,基于注釋的配置以減少和去除XML形式的配置文件,功能強(qiáng)大的表達(dá)式語(yǔ)言,支持可更改、可重用UI組件的基于微MVC的標(biāo)簽庫(kù)。Struts2有兩方面的技術(shù)優(yōu)勢(shì),一是所有的Struts2應(yīng)用程序都是基于client/server HTTP交換協(xié)議,The Java Servlet API揭示了Java Servlet只是Java API的一個(gè)很小子集,這樣我們可以在業(yè)務(wù)邏輯部分使用功能強(qiáng)大的Java語(yǔ)言進(jìn)行程序設(shè)計(jì)。Struts 2提供了對(duì)MVC的一個(gè)清晰的實(shí)現(xiàn),這一實(shí)現(xiàn)包含了很多參與對(duì)所以請(qǐng)求進(jìn)行處理的關(guān)鍵組件,如:攔截器、OGNL表達(dá)式語(yǔ)言、堆棧。

idea構(gòu)建struts2項(xiàng)目:

創(chuàng)建strus2項(xiàng)目(注意不要勾選download,最新的struts核心包可能會(huì)導(dǎo)致一系列的錯(cuò)誤)

去struts官網(wǎng)下載項(xiàng)目所需要的包

解壓下載好的文件,將lib文件夾內(nèi)的所有包導(dǎo)入項(xiàng)目中

目錄結(jié)構(gòu)如下:

創(chuàng)建示例action

配置struts.xml文件,一共有三種方式,但用的最多的就是通配符的方式

處理返回值與視圖相對(duì)應(yīng)

需注意web.xml中包的路徑 struts2.5版本略有不同

使用tomcat運(yùn)行該示例如下:

如果在實(shí)際開(kāi)發(fā)過(guò)程中,將所有的action寫在一個(gè)配置文件內(nèi),這個(gè)文件就會(huì)顯得異常臃腫,所以我們需要采用多個(gè)配置文件。

指定多個(gè)配置文件的示例:

我們將剛才寫的struts.xml配置信息移到一個(gè)新的test.xml文件中,然后再struts.xml文件引入test.xml配置文件

我們也可以統(tǒng)一配置文件的編碼格式為UTF-8,避免以后出錯(cuò)

我們也可以采用默認(rèn)的action 防止404錯(cuò)誤不友好體驗(yàn)

當(dāng)用戶輸入錯(cuò)誤的url

關(guān)于修改請(qǐng)求地址的后綴示例:

修改后綴為html

action接收參數(shù)的示例:創(chuàng)建一個(gè)登陸界面

創(chuàng)建一個(gè)接收參數(shù)的action

注意接收參數(shù)的命名與前端名稱的一致性

配置struts信息

測(cè)試成功:

但是這樣寫,當(dāng)參數(shù)過(guò)多時(shí)就會(huì)不利于維護(hù),我們需要采用一種面向?qū)ο蟮玫椒绞絹?lái)接收參數(shù)

創(chuàng)建一個(gè)user實(shí)體類

使用user對(duì)象接收參數(shù)

更改前端參數(shù)

但是當(dāng)傳入?yún)?shù)改變的時(shí)候,我們需要改變接收實(shí)體的參數(shù),所以也不建議使用。

我們使用實(shí)現(xiàn)接口的方式接收參數(shù),這種方式需要實(shí)例化對(duì)象

關(guān)于使用集合接收參數(shù)

關(guān)于處理結(jié)果的類型

除了input比較特殊之外,其他的幾種只是一種代碼規(guī)范。

input來(lái)限制接收參數(shù)的類型

定義age的類型為int

修改配置文件信息,參數(shù)正確可以進(jìn)入首頁(yè),否則繼續(xù)停留在登陸界面

測(cè)試成功:

自定義攔截器示例:

新建攔截器,繼承AbstractInterceptor類,重寫intercept方法

在struts.xml中注冊(cè)攔截器

在指定的action中調(diào)用攔截器

創(chuàng)建測(cè)試action

創(chuàng)建測(cè)試義頁(yè)面

測(cè)試如下:

內(nèi)置攔截器:

需要注意的是當(dāng)我們?yōu)槟硞€(gè)action指定攔截器后,則默認(rèn)的攔截器不會(huì)被引用,所以需要手動(dòng)引用默認(rèn)攔截器

struts2權(quán)限控制示例:

WEB-INF是無(wú)法直接通過(guò)url訪問(wèn)的

相應(yīng)的邏輯處理

視圖的轉(zhuǎn)發(fā)

自定義權(quán)限攔截器

配置信息

這樣就完成了權(quán)限的控制

我好想你。

與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的struts 修改拦截器修改返回值_关于struts2简单的介绍与示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。