struts1簡介+工作原理

一、簡介

        Struts1框架是apache公司的開源子項目,主要是採用Servlet和Jsp技術來實現的,Struts是一個基於Sun JavaEE 平臺大的MVC框架,應用廣泛。那爲什麼要使用struts框架呢?


二、優點

       1、  開源項目

       2、  建立在mvc模式上,提供了一個好的控制器和一套定製的標籤庫,結構層次分明等優點。

       3、  與其他技術和框架具有很好的融合性

       4、  提高了開發速度


三、Struts組件

       1、  ActionServlet

       2、  Action class

       3、  Action Mapping

       4、  Action Forward

       5、  Action Form Bean


四、Struts 的MVC

       1、  模型(Model):其本質就是業務邏輯

       2、  視圖(View):View是與控制器Servelt配合工作的一整套Jsp定製標籤構成,利用他們可以快速建立應用系統的界面

       3、  控制器(Controller):前端控制器(總控制器)是一個Servlet,它將客戶端的請求轉發到響應的後端控制器Action類


五、Struts1工作流程

 

 


       通過一個時序圖來分析一下:



      1、  首先客戶端發送請求,以http的方式發送到tomcat服務器,創建一個HttpServletRequest和一個HttpServletResponse,調用ActionServlet

      2、  ActionServlet是一箇中央控制器,截取url,讀取struts-config.xml裏面的配置信息找到對應的Action,同時將表單數據複製給ActionForm,並將這些對象傳遞給Action

      3、  Action取得表單數據,調用model,並將ActionForward返回給ActionServlet

     4、  ActionServlet通過返回的ActionForward信息導航到視圖,經過渲染,顯示給用戶

 

六、使用Struts的好處

     1、  採用struts框架實現servlet的統一控制。將所有符合規範的請求統一交給ActionServlet進行處理,根據struts-config.xml配置文件決定Action。

     2、  數據採集。Servlet開發中數據的採集是servlet接收到request,然後通過getparameter()方法取得表單數據。使用struts框架,數據的採集通過ActionForm,並且實現數據類型的轉換。

     3、  Servlet的頁面跳轉代碼通過返回的ActionForward信息,對應配置文件中的<forward>標籤,進行跳轉。配置文件中配置了整個控制流程,清晰。


七、總結

        框架更好的分層,解耦,使得每個層都有自己要乾的事情,不會混亂,這就像是一個大公司一樣,把管理做得井井有條。但是框架既有自己的優點,也會因爲這些層,導致效率低,所以需要我們根據自己項目的大小來考慮是否需要使用框架~~~

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