top
Loading...
用XSLT和XML改進Struts
天極IT資訊短信服務 電腦小技巧
資費:包月5元
手機:
介紹:細處著手,巧處用功。高手和菜鳥之間的差別就是:高手什么都知道,菜鳥知道一些。電腦小技巧收集最新奇招高招,讓你輕松踏上高手之路。


摘要

Struts是一個優秀的Java Web開發框架。Struts是Apache項目之一,現在Struts已經在Java開發團體中得到了廣泛的支持。在這篇文章中Julien Mercay 和Gilbert Bouzeid將向我們介紹Struts的處理流程、描繪Struts框架,最后提出了Model 2x的設計方法。Model 2x用XML/XSLT替換掉了原來的表現層中的JSP頁面。Model 2x通過這種方式更加明晰地劃分了業務邏輯層和表現層。

正文

自從Servlet API發布以來,Java開發人員使用了不同的技術來開發Web應用程序。Web開發人員已經認識到了Model 2的優點。Model 2 指的是基于MVC模式的WEB開發框架。Model 2能把應用邏輯層和表現層較好地區分開來。Struts構建在Model 2 之上,它向Java開發人員提供了一個普通的控制器Servlet,還有集中式的資源配置、資源管理以及錯誤處理等功能。

這篇文章中我們引入了Model 2x。Model 2x可以將邏輯層和表現層更好地分離。我們先介紹Model 1和Model 2,然后講述一下Struts是如何實現MVC架構的,最后向讀者展示一下如何通過XML、XSLT來對現存的模式加以改進。

Model 1

理解Model 1是十分重要的,如果不熟悉Model 1將很難理解我們在文章中介紹的其他幾個架構。Model 1的基礎是JSP文件。JSP從Http請求中取得參數,調用所需的業務邏輯,處理Http對話,然后生成HTML頁面。
一個完整的Model 1項目包括一組JSP文件(這些文件大部分都是彼此獨立的)、一組所需的Java類和其他組件。一些早期的Web開發技術比如ASP、PHP都使用類似的模式來開發的。

Model 1主要也許是唯一的優勢就是簡單。Model 1中業務邏輯和顯示邏輯混合在JSP頁面中沒有進行抽象和分離,所以在進行快速和小規模的應用開發時,有非常大的優勢的。但用Model 1 開發復雜的項目的開發時,將不可避免地導致項目管理的困難。

Model 2, MVC, and Struts/JSP


圖1

圖1說明的是MVC架構中的三個部分,以及它們在Struts/JSP中的實現。

控制器(Controller):Struts的最主要的部件就是一個普通的控制器Servlet。控制器是每一個發送到Struts的Http請求的入口點。控制器把所有的請求經解釋后分發action。這些action是Struts Action類的子類。由開發人員負責實現它們。控制器也會自動的把Http請求中的參數加入到Form bean中。Action負責實現核心的業務邏輯,比如做EJB調用,通過Java Bean訪問模型(model)。在Struts中可以通過定義一個XML文件來描述請求URI、具體業務邏輯處理、代表客戶提供的數據的Form組件三者之間的映射關系。控制器的就是通過這個XML文件來定義的。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗