<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ? ? Struts框架在java web開發中很常用。最近我也在逐步摸索和學習。今天就來說說Struts的處理流程。 ? ? 先來一幅Struts工作原理圖: ![](https://box.kancloud.cn/2016-02-18_56c53c0f583f6.jpg) ? ? 從上面這幅圖,我們可以清楚的看到Struts的實現原理: - 客戶端的每個請求,都會首先到達ActionServlet,截取url; - ActionServlet會根據截取的url,在struts-config.xml的action-mapping中,找到對應action的配置信息,然后讀取到ActionMapping中; - ActionServlet拿到ActionMapping中的name屬性值,再從form-beans中找到對應的ActionForm,反射出實例來。將頁面表單內容通過自動轉換器轉換后,放入到這個ActionForm中,傳遞給action處理類; - Action處理類拿到ActionForm,即可獲取表單數據。通過ActionMapping則可以實現頁面的轉發。 ? ? 上面就是Struts工作原理的基本流程。通過斷點調試struts,詳細解釋一下運行的流程: ![](https://box.kancloud.cn/2016-02-18_56c53c0f809cd.jpg) ? ? 通過查看代碼得知, - ActionServlet是通過process()方法來處理全部邏輯的。 - action配置信息并不是全部加載,而是找與截取的url對應的action配置信息,加載到ActionMapping中,也就是一個action對應一個ActionMapping。 - ActionForm也并不是每次都反射,而是會先判斷一下request或者session中是否已經創建,如果沒有,則創建一次,并保存在request或者session中。 - Action處理類同樣是先檢查是否已經創建過,然后在操作。而且struts1中的Action創建過程存在線程安全問題。 - ActionServlet根據Action返回的ActionForward,調用processForwardConfig,進行頁面導航。 ? ??
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看