Struts2框架

架構是指軟件結構的專用名詞,
構架只是架構的另外一種叫法
框架指的是一些通用的結構和組件
web

 

1Struts2框架介紹apache

  Struts2框架是MVC流程框架,適合分層開發。框架應用實現不依賴於Servlet,使用大量的攔截器來處理用戶請求,屬於無侵入式的設計。tomcat

 

二、struts2的運行原理架構

  (1)tomcat 啓動的時候會加載 web.xml 、核心控制器 FilterDispatcher 會加載並解析 struts.xmlapp

  (2)客戶端會發送一個請求到 action 、FilterDispatcher  會根據後綴名進行攔截框架

  (3)FilterDispatcher根據 struts.xml  的配置文件信息 找到 某個action 對應的某個類裏的指定方法jsp

  (4)執行相關的業務邏輯最後返回 一個Stringurl

  (5)<action/> 裏配置 <result/> name的屬性值與返回的String 進行匹配,跳轉到指定的jsp 頁面spa

 

3、框架的使用設計

  框架爲咱們作好了封裝,使用起來就按照步驟,配置幾個xml文件就行拉。

  1)導入jar包

  

 

四、在web.xml文件中配置核心控制器 

1 <filter>  
2     <filter-name>struts2</filter-name>  
3     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
4 </filter>  
5 <filter-mapping>  
6     <filter-name>struts2</filter-name>  
7     <url-pattern>/*</url-pattern>  
8 </filter-mapping>  

 

五、拷貝struts.xml文件

  將拷貝的配置文件放在根目錄src下。struts.xml文件主要是配置請求路徑對應action類的,以及結果跳轉路勁。

 1 <?xml version="1.0" encoding="UTF-8" ?>  
 2 <!DOCTYPE struts PUBLIC  
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
 4     "http://struts.apache.org/dtds/struts-2.0.dtd">  
 5 <struts>  
 6     <package name="example" namespace="/example" extends="struts-default">  
 7         <action name="HelloWorld" class="struts2.action.HelloWorldAction">  
 8             <result name="success">/success.jsp</result>  
 9         </action>  
10     </package>      
11 </struts> 

  

六、 Strut2的體系結構如圖所示:

 

一個請求在Struts2框架中的處理大概分爲如下幾個步驟:

一、客戶端初始化一個指向Servlet容器(例如Tomcat)的請求;

二、這個請求通過一系列的過濾器(Filter)(這些過濾器中有一個叫作ActionContextCleanUp的可選過濾器,這個過濾器對於Struts2和其餘框架的集成頗有幫助,例如:SiteMesh Plugin);

三、接着FilterDispatcher被調用,FilterDispatcher詢問ActionMapper來決定這個請求是否須要調用某個Action;

四、若是ActionMapper決定須要調用某個Action,FilterDispatcher把請求的處理交給ActionProxy;

五、ActionProxy經過Configuration Manager詢問框架的配置文件,找到須要調用的Action類;

六、ActionProxy建立一個ActionInvocation的實例。

七、ActionInvocation實例使用命名模式來調用,在調用Action的過程先後,涉及到相關攔截器(Intercepter)的調用。

八、一旦Action執行完畢,ActionInvocation負責根據struts.xml中的配置找到對應的返回結果。返回結果一般是(但不老是,也多是另外的一個Action鏈)一個須要被表示的JSP或者FreeMarker的模版。在表示的過程當中可使用Struts2框架中繼承的標籤。在這個過程當中須要涉及到ActionMapper。

 

 END!!!

相關文章
相關標籤/搜索