struts1的工作流程
1. 讀取配置(容器啟動時一次性載入)
容器讀取web.xml,自動載入設定為自動啟動的actionservlet; 讀取struts-config.xml配置資訊
2.傳送請求
客戶端傳送http請求,容器收到後通過web.xml上的url萬用字元(一般是*.do)找到actionservlet;
3.填充資料
actionservlet(action配置path,唯一標識)從actionconfig物件查詢action類,如果沒有找到則**給jsp或靜態頁面,如果有找到action類和對應actionform類(action配置name,formbeanconfig物件中查詢),例項化(action配置或actionform配置type,反射);
actionform被例項化並用http請求的資料填充其屬性,並將其儲存在指定域(action配置scope)中,servletcontext、session、request;
4.派發請求
actionservlet將請求和相應formbean傳給action的excute()方法使用.
5.處理業務
執行相應的業務邏輯,將結果放入請求,返回actionforward物件;
6.返回響應
actionservlet根據actionforward物件在forwardconfig物件 (name)查詢對應的跳轉(jsp或者action);
7.響應客戶
actionservlet將請求(引數和屬性)帶入下乙個jsp或者action,如果是action將重複2.傳送請求(屬性可帶);如果是jsp,容器會將jsp生成結果為html,然後響應給客戶端;
說明:
如果action配置裡面沒有name屬性,將不會初始化actionform,action內無法使用
html:form對應到表單上的屬性,名稱不一致會報錯
下面使用struts1模擬乙個使用者登入
1建立actionform
package com.itmyhome.form; import org.apache.struts.action.actionform; public class loginform extends actionform public void setusername(string username) public string getpassword() public void setpassword(string password) } 然後在struts-config.xml檔案中進行註冊:
success.jsp error.jsp分別寫入success login error login 進行測試
Struts1 x工作原理解析
1.struts 的體系結構 2.struts 的流程 1.讀取配置 初始化moduleconfig物件 struts框架總控制器 actionservlet 是乙個servlet,在web.xml中配置成自動啟動的servlet。讀取配置檔案 servlet config.xml 的配置資訊,為不...
struts1 x 學習筆記
struts1.x 工作流程 2.建立actionform物件,儲存表單引數 3.使用actionform的validate方法進行引數驗證 4.actionservlet傳遞請求給相應的action 5.action的execute方法返回相應的actionforward物件 6.actionse...
struts 1 x 學習 筆記1
配置struts 1.x 要做的以下幾件事,1.匯入jar 2.web.xml配置actionservlet 3.struts conf.xml 4.配置formbean 5.配置action path 必須 type 必須 name 是frombean的名字 scope 作用域,只有session...