struts1的工作流程

2021-06-08 16:34:41 字數 1280 閱讀 3424

1.開啟服務端(即本地伺服器tomcat),由通過web.xml的配置,啟動org.apache.struts.action.actionservlet,並初始化一些資料(包括struts-configue.xml),將相關請求都交由actionservlet(**控制器,繼承httpservlet)來處理

2.瀏覽器傳送請求,如http://localhost:8080/login

3.服務端用request接收並封裝有關客戶端的資料,將此物件注入到actionservlet中,實現struts的控制,在actionservlet中執行如下方法:

1).doget或dopost方法:二者均呼叫本類的process方法,在process方法中生成requestprocessor物件,並呼叫requestprocessor物件的process方法(所以說,真正的控制器是requestprocessor,actionservlet是初始化資料,並生成requestprocessor物件,由requestprocessor執行相應的處理方法),在process方法中執行各種方法;

2).先是processpath()方法:用於擷取瀏覽器端的請求位址。首先是找到prefix,即http://localhost:8080,再通過substring()獲得擷取位址,即/login.

5).再然後是processpopulate()方法:用於自動收集瀏覽器端傳送過來的資料.

工作流程:

1).先是通過request物件的getparameternames()獲得引數名,再通過getparametervalues()方法迴圈得到引數值,再構建乙個hashmap(名為properties),將名值對put進去;

2).再將生成的actionform物件和hashmap物件傳入到beanutils.populate()中,取出引數名,並找到相應的set方法,將值set到其屬性中,在set之前還會進行型別的轉換。

6).接著是processforward()方法:用於直接跳轉,而不生成action物件.若配置了forword屬性,則直接跳轉;否則執行 processactioncreate(),生成相應的action

7).執行 processactioncreate()方法,根據action標籤的type屬性, 生成相應的action物件

8).緊接著執行processactionperform()方法,即action物件的execute()方法,根據forword標籤生成actionforword物件,並返回

9). processforwardconfig()方法,用於解析返回的actionforword物件,實行跳轉

大致流程好像是這樣

struts1的工作流程

2 如果actionform例項不存在,就建立乙個actionform物件,把客戶提交的 表單資料儲存到actionform物件中 3 根據配置資訊決定是否需要表單驗證.如果需要驗證,就呼叫actionform的validate 方法 6 action的execute 方法返回乙個actionfor...

Struts工作流程

文章分類 招聘求職 乙個使用者的請求是通actionservlet來處理和 的。那麼,actionservlet如何決定把使用者請求 給哪個action物件呢?這就需要一些描述使用者請求路徑和action衍射關係的配置資訊了。在struts中,這些配置對映資訊都儲存在特定的xml檔案struts c...

Struts工作流程

struts的工作流程詳解 1 客戶端向servlet容器 如tomcat 提交乙個請求,即httpservletresponse 2 請求經過一系列過濾器 actioncontextcleanup過濾器 其他過濾器 filterdispatcher actioncontextcleanup 已被j...