我們剛剛談論到表單自動收集,那表單自動收集之後,系統就會呼叫processactioncreate這個方法去建立請求對應的action了。這時候注意主角登場了。在建立action的時候,會有乙個鎖的機制,即單例+同步(那就是為什麼struts1效率低的原因了,畢竟是在一到控制層建立action就加了鎖,那之後的業務層,持久層都得是單例加同步,不然會產生併發而造成的不安全的問題)。這個鎖,注意是對裝載action的map進行加鎖和同步。
之後,系統便會呼叫processactionperform這個方法去自動執行execute方法,這時候,我們可以在execute方法中,加入一些對業務層處理的操作,並把actionforward返回給控制層actionservlet。
最後,當然是處理客戶端或服務端跳轉了。此時系統就會呼叫processforwardconfig這個方法,如果actionforward這個物件中的redirect屬性為true,就是客戶端跳轉。如果actionforward這個物件中的redirect屬性為false,就是服務端跳轉。
struts1的工作流程
1.開啟服務端 即本地伺服器tomcat 由通過web.xml的配置,啟動org.apache.struts.action.actionservlet,並初始化一些資料 包括struts configue.xml 將相關請求都交由actionservlet 控制器,繼承httpservlet 來處理...
struts1的工作流程
2 如果actionform例項不存在,就建立乙個actionform物件,把客戶提交的 表單資料儲存到actionform物件中 3 根據配置資訊決定是否需要表單驗證.如果需要驗證,就呼叫actionform的validate 方法 6 action的execute 方法返回乙個actionfor...
struts1 和 struts2流程之間的區別
struts1的處理流程 1 根據瀏覽器是post還是get請求呼叫dopost doget 方法,在其中呼叫actionservlet的process 方法。2 process 獲取requestprocessor物件,呼叫requestprocessor物件的process 方法 3 proce...