struts1工作原理

 

  1. 在web應用程序啓動的時候加載並初始化ActionServlet,ActionServlet從struts-config.xml文件中讀取配置信息,把它們存放到配置對象中。  
  2. 例如Action的映射信息存放到ActonMapping對象中,當ActionServlet接受到一個客戶請求時,檢索和用戶請求匹配的ActionMapping實例,  
  3. 如果不存在,就返回用戶請求路經無效的信息,如果ActonForm實例不存在,就創建一個ActionForm對象,把客戶提交的表單數據保存到ActionForm對象中。  
  4. 根據配置信息決定是否需要表單驗證,如果需要驗證,就會調用ActionForm的validate()方法。如果actionForm的validate()方法返回null或返回一個不包含  
  5. ActionMessage的actionErrors對象,就表示表單驗證成功(如果ActionForm的validate()方法包含一個或多個ActionMessage的ActionErrors對象,就表示驗證表單失敗  
  6. 此時ActionServlet直接把請求轉發給用戶提交表單JSP組件。在這種情況下不會創建ActionServlet對象並不會調用Action的execute()方法)。  
  7. 。ActionServlet根據ActionMapping實例包含的映射信息決定將請求轉發給那個Action,如果相應的Action不存  
  8. 在的話,就會先創建這個實例,然後調用Action的execute()方法。Action的execute()方法返回一個ActionForward對象,ActionServlet再把客戶請求轉發給ActionForward  
  9. 對象指向的JSP組件。ActionForward對象指向的JSP組件生成動態網頁,返回給客戶。 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章