用Struts開發基於MVC的Web應用

來源:互聯網
上載者:User

MVC介紹

MVC模式是一種非常理想化的設計模式,應用MVC模式完成兩個以上項目的人都有同樣的體會,他們已經對以前的工作方法進行了徹底的改造。工作模式的改變要付出痛苦的代價,但現在你有現成的技術架構可以採用,避免在項目中自己開發、摸索。它就是開源Apache Struts framework,它提供了實現MVC設計模式最好的實現工具。

在本文中,我們將簡單瞭解、體會一下模型-視圖-控制器(MVC)設計模式,特別地,我們來看看如何用Struts架構來完美地實現MVC模式。我們先從理論上簡單地描述MVC模式,然後用我們一個簡單的例子來實現我們自己的MVC架構。在對MVC模式有了瞭解後,我們用Struts來看這個新技術是如何協助我們迅速、簡單地建立基於MVC的Web應用。

模型-視圖-控制器(Model-View-Controller)模式

MVC模式最早是在Smalltalk(一種物件導向的語言)這種程式語言設計中被提出來的。我們暫時先忽略它的曆史,集中注意力在關注它怎樣被應用在Web應用開發中。

當Java的Servlets技術最開始出現的時候,程式員們立刻意識到這是一項極其有用的技術。與同時代的CGI Web開發技術相比,Servlets更快,更靈活,更可靠,更強大。然而,開發基於Servlets技術的Web應用有一個巨大的缺陷--需要使用例如out.println之類的語句來輸出瀏覽器識別的HTML。頻繁使用這個方法是個錯誤的傾向,開發極其浪費時間(程式員需要經常退出所有應用程式進行重新編譯)。並且這也使修改Web頁面的工作也變得很困難,因為Web的表現和邏輯在一堆令人恐懼的代碼中摻乎在一起。

於是作為解決方案的JavaServer Pages(JSP)出現了,它們將Servlets變成它們啟動並執行結果。應用JSP技術,我們將商務邏輯用一系列夾雜在HTML中的<%>標識來表達。以開發JSP為核心的應用儘管比以Servlet為核心的應用有進步,但看起來仍然是雜亂無章的,仍然需要用額外的代碼來控制應用頁面的流轉。在充滿格式化代碼的JSP頁面上,沒有地方來增加這樣額外的控制碼。顯然需要尋找別的出路。

不久人們認識到同時應用JSP和Servlets兩種技術開發Web應用是一種不錯的選擇。畢竟,Servlets擅長處理商務邏輯的編程,處理請求,控制功能頁面的流轉,而JSP則是格式化請求處理結果,通過瀏覽器獲得使用者輸入。這種工作機制後來變成了人們長說的Model2(用JSP或Servlets中單獨的一種實現web應用被稱做Model 1).

Model 2不是一項革命性的新模式,其實它是來自於Smalltalk語言研發過程中出現的MVC模式。大多數情況下,Java程式員趨向於可完全互換地使用這兩個名詞。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.