1. 程式人生 > >Struts簡單介紹

Struts簡單介紹

分享 聚集 get target 開發 理解 blank 初始 bsp

一、在介紹struts之前,先來了解一下什麽是MVC框架吧。
1、MVC介紹
MVC全名是Model View Controller。是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典範。用一種業務邏輯、數據、界面顯示分離的方法組織代碼。將業務邏輯聚集到一個部件裏面,在改進和個性化定制界面及用戶交互的同一時候。不須要又一次編寫業務邏輯。

當中三層各自的功能: Model(模型)是應用程序中用於處理應用程序數據邏輯的部分。

  通常模型對象負責在數據庫中存取數據。
View(視圖)
是應用程序中處理數據顯示的部分。
  通常視圖是根據模型數據創建的。
Controller(控制器)是應用程序中處理用戶交互的部分。
  通常控制器負責從視圖讀取數據。控制用戶輸入,並向模型發送數據。

MVC 分層同一時候也簡化了分組開發。

不同的開發者可同一時候開發視圖、控制器邏輯和業務邏輯。
2、struts介紹 Struts是MVC架構,使用Struts的目的是為了幫助我們降低在運用MVC設計模型來開發Web應用的時間。假設我們想混合使用Servlets和JSP的長處來建立可擴展的應用,struts是一個不錯的選擇。

二、 struts執行原理: 技術分享
結合上面的圖,來理解struts的執行原理: 1、初始化。讀取配置文件:在Web應用啟動時就會載入並初始化ActionServlet。在載入Struts應用程序時,會先載入web.xml中與Struts相關的一些配置參數,找到struts-config.xml文件。然後通過循環來讀取此文件和解析裏面的內容。並初始化相關對象。 2、用戶請求:用戶提交表單或調用url向Web應用程序

adclass=0&app_id=0&c=news&cf=1001&ch=0&di=8&fv=17&is_app=0&jk=38f8cdd40b779ad&k=%B7%FE%CE%F1%C6%F7&k0=%B7%FE%CE%F1%C6%F7&kdi0=0&luki=2&n=10&p=baidu&q=sayyescpr&rb=0&rs=1&seller_id=1&sid=ad79b740dd8c8f03&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1366390&u=http%3A%2F%2Fblog%2Eknowsky%2Ecom%2F179728%2Ehtm&urlid=0" id="5_nwl" style="text-decoration:none">server

提交一個請求, 首先會到達ActionServlet這個對象中,在此截取發送請求的URI地址。在和第一步中讀取出來的配置文件信息相關內容做對照,找到和這個URI地址相匹配的地址。然後確定其要轉向的Action。在此過程中。如這個Action有一個對應的ActionForm。則會把表單中提交的一些數據自己主動匹配到ActionForm的一個實例中,並傳遞到要轉向的Action。

3、業務處理:Action一般僅僅包括一個execute()方法,它負責運行對應的業務邏輯。

在Action中獲取傳遞過來的ActionForm中的數據,然後在調用相關業務邏輯。運行完成後返回一個ActionForward對象,控制器通過該ActionForward對象進行轉發工作(通常是跳轉到JSP頁面對結果進行處理)。 4、接收結果:接收Action中處理的結果,在界面給用戶顯示相關數據。

三、使用struts的有點:

1. 實現MVC模式,結構清晰,使開發人員僅僅關註業務邏輯的實現. 2. 有豐富的tag能夠用 ,Struts的標記庫(Taglib),如能靈活動用。則能大大提高開發效率
3. 頁面導航.頁面導航將是今後的一個發展方向,其實,這樣做,使系統的脈絡更加清晰。通過一個配置文件。就可以把握整個系統各部分之間的聯系,這對於後期的維護有著莫大的優點。
4. 提供Exception處理機制 .
5. 數據庫鏈接池管理

6. 支持I18N


Struts簡單介紹