struts 修改拦截器修改返回值_关于struts2简单的介绍与示例
Apache Struts 2是一個用于開發Java EE網絡應用程序的開放源代碼網頁應用程序架構。它利用并延伸了Java Servlet API,鼓勵開發者采用MVC架構。
緣起于Apache Struts的WebWork框架,旨在提供相對于Struts框架的增強和改進,同時保留與Struts框架類似的結構。2005年12月,WebWork宣布WebWork 2.2以Apache Struts 2的名義合并Struts。
Struts1設計的第一目標就是使MVC模式應用于web程序設計。在過去10年,Struts在更好的web應用方面所做的工作是值得肯定的。在某些方面,Struts社區注意到這一框架的局限性,所以這個活躍的社區通過對MVC運行模式的重新理解并同時引入一些新的建筑學方面的設計理念后,新的Struts2框架結構更清晰,使用更靈活方便。
這一新的結構包含應用邏輯的橫切面攔截器,基于注釋的配置以減少和去除XML形式的配置文件,功能強大的表達式語言,支持可更改、可重用UI組件的基于微MVC的標簽庫。Struts2有兩方面的技術優勢,一是所有的Struts2應用程序都是基于client/server HTTP交換協議,The Java Servlet API揭示了Java Servlet只是Java API的一個很小子集,這樣我們可以在業務邏輯部分使用功能強大的Java語言進行程序設計。Struts 2提供了對MVC的一個清晰的實現,這一實現包含了很多參與對所以請求進行處理的關鍵組件,如:攔截器、OGNL表達式語言、堆棧。
idea構建struts2項目:
創建strus2項目(注意不要勾選download,最新的struts核心包可能會導致一系列的錯誤)
去struts官網下載項目所需要的包
解壓下載好的文件,將lib文件夾內的所有包導入項目中
目錄結構如下:
創建示例action
配置struts.xml文件,一共有三種方式,但用的最多的就是通配符的方式
處理返回值與視圖相對應
需注意web.xml中包的路徑 struts2.5版本略有不同
使用tomcat運行該示例如下:
如果在實際開發過程中,將所有的action寫在一個配置文件內,這個文件就會顯得異常臃腫,所以我們需要采用多個配置文件。
指定多個配置文件的示例:
我們將剛才寫的struts.xml配置信息移到一個新的test.xml文件中,然后再struts.xml文件引入test.xml配置文件
我們也可以統一配置文件的編碼格式為UTF-8,避免以后出錯
我們也可以采用默認的action 防止404錯誤不友好體驗
當用戶輸入錯誤的url
關于修改請求地址的后綴示例:
修改后綴為html
action接收參數的示例:創建一個登陸界面
創建一個接收參數的action
注意接收參數的命名與前端名稱的一致性
配置struts信息
測試成功:
但是這樣寫,當參數過多時就會不利于維護,我們需要采用一種面向對象得到方式來接收參數
創建一個user實體類
使用user對象接收參數
更改前端參數
但是當傳入參數改變的時候,我們需要改變接收實體的參數,所以也不建議使用。
我們使用實現接口的方式接收參數,這種方式需要實例化對象
關于使用集合接收參數
關于處理結果的類型
除了input比較特殊之外,其他的幾種只是一種代碼規范。
input來限制接收參數的類型
定義age的類型為int
修改配置文件信息,參數正確可以進入首頁,否則繼續停留在登陸界面
測試成功:
自定義攔截器示例:
新建攔截器,繼承AbstractInterceptor類,重寫intercept方法
在struts.xml中注冊攔截器
在指定的action中調用攔截器
創建測試action
創建測試義頁面
測試如下:
內置攔截器:
需要注意的是當我們為某個action指定攔截器后,則默認的攔截器不會被引用,所以需要手動引用默認攔截器
struts2權限控制示例:
WEB-INF是無法直接通過url訪問的
相應的邏輯處理
視圖的轉發
自定義權限攔截器
配置信息
這樣就完成了權限的控制
我好想你。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的struts 修改拦截器修改返回值_关于struts2简单的介绍与示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea springboot 无法ru
- 下一篇: mysql 数据表创建字段类型_MySQ