struts 1.2 原理

來源:互聯網
上載者:User

   Struts1.2初始化流程和具體工作流程

      初始化流程:struts最主要的是中央控制器ActionServlet),它和其他Servlet一樣,ActionServlet的載入取決於Servlet容器(WEB容器)來決定,容器根據設定檔(web.xml)的<load-on-startup>標籤決定是在容器啟動時載入還是第一次請求到來時載入。不管哪種方式,當ActionServlet載入時,ActionServlet載入並初始化Struts設定檔struts-config.xml,它會把每一個<action>標籤的內容產生ActionMapping對象存放在記憶體中,對於每一個<form-bean>標籤會產生ActionFormBean對象存放在記憶體中等等,最後載入並初始化訊息檔案到記憶體中。


   基本工作流程:當完成Struts初始化工作後,以下是一個請求到來時的工作流程。

         1.一個請求到來,在記憶體中找到與之匹配的ActionMapping對象,如果沒有找到這提示請求路徑錯誤資訊,如果找到進入第二步;

         2.找到ActionMapping對象對應的formBean,並建立一個執行個體把請求資訊填充到對象中;

         3.根據配置的validate屬性決定是否進行表單驗證,如果需要則執行formbean的validate方法,如果返回null或者不包含ActionMessage的ActionErrors對象,則表明驗證通過,如果不通過則根據配置的input屬性的值跳到相應的錯誤頁面;

         4.通過驗證後配置的映射對象並建立該Action對象,執行execute方法完成商務邏輯的操作,返回一個ActionForward對象,ActionServlet根據返回的ActionForward對象,產生動態網頁面並響應給用戶端。


本文出自 “天下眾翎羽” 部落格,請務必保留此出處http://ivwsaiisrg.blog.51cto.com/4047673/1293170

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.