1. 程式人生 > >Struts2框架學習

Struts2框架學習

初始化 服務器初始化 nmap 管理 地方 highlight itl 我們 inpu

Struts功能詳解——ActionMapping對象

ActionMapping描述了struts中用戶請求路徑和Action的映射關系,在struts中每個ActionMapping都是通過path屬性和一個特定的用戶請求URL關聯。它負責轉發用戶請求給具體的Action,同時還轉發了其他的一些相關信息,這種請求和處理動作之間的映射關系保存在struts-config.xml這個配置文件中,在web服務器初始化的時候,會加載這個配置文件,struts給每一個Action都創建一個ActionMapping對象,用來提供給Action使用,當ActionServlet轉發請求的時候,ActionMapping對象會被作為參數傳遞給Action的execute()方法。
在一個web應用中,每個資源都必須通過URI來進行引用。 資源包括HTML頁面,JSP頁面,和定制動作。為了給定制動作一個 URI或者說路徑,Struts框架提供了一個 ActionMapping對象。

ActionMaping也是Struts的一個核心對象,通常我們不用手寫ActionMapping類,它只需要在配置文件中配置就行。

ActionMapping如何配置:

ActionMapping在配置文件Strtus-config.xml中配置,配置格式如下:

  1. <struts-config>
  2. <action-mappings>
  3. <actionpathactionpath="/login"
  4. type="com.bjpowernode.struts.LoginAction"
  5. name="loginForm"
  6. scope="request"
  7. >
  8. <forwardnameforwardname="success" path="/login_success.jsp" />
  9. <forwardnameforwardname="error"path="/login_error.jsp"/>
  10. </action>
  11. </action-mappings>
  12. </struts-config>

其中<action>標簽是為每一個獨立的action配置,配置他們的訪問方式和訪問控制。

<forward>標簽配置action執行完返回以後,需要到達的地方。

其中name scope type分別是actionMapping的一個屬性,它對應著action的需要訪問的位置和數據來源,還有數據範圍。

ActionMapping的功能:

ActionMapping的主要功能就是管理Action的信息和管理Action執行完成以後的ActionForward的信息。

它將特定請求映射到特定Action的相關信息存儲ActionMapping中,ActionServelt將ActionMapping傳送到Action類execute()方法,Action將使用ActionMapping的findForward()方法,此方法返回一個指定名稱的ActionForward,這樣Action就完成了本地轉發。若沒有找到具體的ActionForward,就返回一個null.

ActionMapping的方法:

publicExceptionConfig findException(Class type) ,查找異常對象

public ActionForwardfindForward(String name) 可在映射中動態添加ActionForward:

public String[]findForwards()找到一個Action可以使用的actionForward列表

public ActionForwardgetInputForward() 得到本action的輸入ActionForard.

ActionMapping繼承於org.apache.struts.config.ActionConfig

總之,對於ActionMapping來說,起算是一個web控制層的數據字典,這個數據字典裏面存放在ActionActionForward的信息,在程序執行的過程中,查閱這個數據字典,然後達到相應的位置,執行完成以後,再查詢這個數據字典,轉發特定的信息。

Struts2框架學習