【Struts2框架學習】
前言
在網上商城的專案中,使用了SSH框架,在裡面學習了Struts2框架,為什麼我們要用這個Struts2呢?它有什麼意義呢?這篇博文,我們們一起來討論Struts2!
核心
概念:
Struts2是一個開源框架,方便開發者深入研究瞭解其機制,越來越廣泛的接受和應用。而且它提供一個好的控制器和一套定製的標籤庫Taglib,著力在控制器和檢視上的應用,完美的體現了MVC設計思想。提供集中統一的許可權控制、國際化提示和訊息、輸入校驗和日誌記錄等技術支援。另外,它對其他技術和框架具有良好的融合性。如能與EJB、JDBC和Hibernate等資料庫訪問技術相結合,利用整合技術減少資料庫的工作量。
理解:
struts2其實就是為我們封裝了servlet,簡化了jsp跳轉的複雜操作,並且提供了易於編寫的標籤,可以快速開發view層的程式碼。
為什麼要用:
使用了MVC模式,減少了直接運用MVC模式來開發Web應用的週期。
架構:
實現步驟:
1 jsp出發action
2 struts2攔截請求,呼叫後臺action
3 action返回結果,由不同的jsp展現資料
核心實現:
Struts2主要是用來控制整個系統流程。它由三個部分組成,核心控制器FilterDispatcher、業務控制器和使用者實現的業務邏輯元件。本系統採用的核心控制器為2.3.15.3版本,該控制器作為一個Filter執行在Web應用中,它負責攔截所有的使用者請求,當使用者請求到達時,該Filter會過濾使用者請求。如果使用者請求以action結尾,該請求將被轉入Struts 2框架處理。Struts 2框架獲得了*.action請求後,將根據*.action請求的前面部分決定呼叫哪個業務邏輯元件,例如,對於login.action請求,Struts 2呼叫名為login的Action來處理該請求。
<!-- Struts2的核心過濾器 --> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter>
<filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
攔截器也是本系統中使用的一個Struts2重要元件功能,該元件功能提供一個事件攔截的方法,讓你可以對某些動作進行攔截。例如本系統對所有後臺操作都有一個檢查是否登入的功能,如果沒有登入則對其操作進行攔截。
public class PrivilegeInterceptor extends MethodFilterInterceptor{ @Override protected String doIntercept(ActionInvocation actionInvocation) throws Exception { // 獲得Session中存的後臺的使用者: AdminUser adminExistUser = (AdminUser) ServletActionContext .getRequest().getSession().getAttribute("adminExistUser"); if(adminExistUser == null){ // 沒有登入: ActionSupport support = (ActionSupport) actionInvocation.getAction(); support.addActionError("您還沒有登入!請先去登入!"); return support.LOGIN; }else{ // 已經登入 return actionInvocation.invoke(); } } }
總結
不斷進步中,專案中經常遇到spring與structs 2相結合,後面的部落格會持續更新,歡迎各位夥伴們!
相關文章
- Struts2框架學習(一)框架
- Java之struts2框架學習Java框架
- JAVAEE框架學習——Struts2——Action API 使用Java框架API
- 框架學習:webWork框架和struts2框架的結構和分析框架Web
- struts2框架搭建學習遇到的問題框架
- Struts2(一) 學習興趣、框架簡介、框架優缺點框架
- Java學習大全 之 Struts2Java
- Struts2的框架框架
- struts2學習筆記系列(一)筆記
- 駁 《駁 《駁 《駁 《停止學習框架》》》》、《駁 《駁 《停止學習框架》》》、《駁 《停止學習框架》》、《停止學習框架》框架
- 深度學習學習框架深度學習框架
- Struts2框架的基本使用框架
- OS 學習框架框架
- 停止學習框架框架
- Koa框架學習框架
- Httprunner框架學習HTTP框架
- ThinkPhP 框架學習PHP框架
- 前端學習框架前端框架
- Play框架學習框架
- 風中葉之struts2學習筆記一筆記
- Struts2入門教程(學習教程資料).pdf
- struts2 使用Maven搭建Struts2框架的開發環境Maven框架開發環境
- 駁 《停止學習框架》框架
- Java集合框架學習Java框架
- Hugo-框架學習Go框架
- Hibernate框架學習框架
- PySpider框架學習IDE框架
- 日誌框架學習框架
- 框架學習筆記框架筆記
- 深度學習框架Pytorch學習筆記深度學習框架PyTorch筆記
- 深度學習中tensorflow框架的學習深度學習框架
- Struts2學習筆記(一)初識Strut2筆記
- Struts2學習感悟2015-11-17
- Struts框架_9 Struts2的驗證框架
- Struts2框架快速入門筆記框架筆記
- Okio 框架原始碼學習框架原始碼
- dubbo框架設計學習框架
- Zookeeper學習——基礎框架框架