999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于StrutsCX框架的網絡信息發布

2010-05-28 08:24:04陳峰
中國教育技術裝備 2010年30期
關鍵詞:優勢信息

陳峰

1 引言

MVC是一種目前廣泛流行的軟件設計模式,它的全稱是Model-View-Controller,即把一個應用的輸入、處理、輸出流程按照Model(模型層)、View(視圖層)、Controller(控制層)的方式進行分離。MVC model 2是一種聯合JSP與servlets來實現動態內容服務的方法。Struts是一個基于MVC model 2的很好框架。而StrutsCX是MVC model 2x的極好實現。它基于Struts框架,完全摒棄JSP,采用純XML和XSLT技術,并支持多種語言。通過它,開發人員可以方便地用標準的XML和XSL技術生成HTML、XML、PDF等多種輸出格式。筆者提出一種全新的基于StrutsCX框架的信息發布技術路線,并在此基礎上實現一個信息發布平臺,具有信息添加、刪除、修改等功能。

2 關鍵技術介紹

2.1 Struts工作原理

Struts繼承MVC的各項特性,并根據J2EE的特點,做了相應的變化與擴展。Struts用它自定義的標簽庫和JSP頁面處理視圖層(View),用Action Form Bean表示和保存數據,用自己提供的ActionServlet實現控制層(Controller)。如圖1所示,Struts首先將Request上的參數組裝成Action Form bean,然后將Action Form bean傳給某個具體的Action類進行處理,將處理后的結果保存在一個bean中,通過自定義標簽庫將結果bean中的信息顯示成HTML輸出。其中struts-config.xml為Struts的配置文件,用于建立Controller和Model之間的關系。

2.2 Struts技術的優缺點

Struts聯合JSP和servlets的優點。比較Struts和傳統的JSP技術,可得出Struts有以下幾個優勢。

1)Struts不存在從JSP到Service層的直接調用,簡化了JSP頁面,清晰了程序員和頁面制作人員的分工。

2)Struts具有組件化的優點,整個邏輯流在一個分等級的文本文件中,易于實現對大規模系統的開發和維護。

圖1 Struts流程圖

3)Struts配置文件struts-config.xml提供了操作、表單和屏幕的集中映射,讓開發人員更易于理解整個應用程序,特別是在應用程序很大的情況下。

但Struts也有其不足,如復雜性和層都有所增加,美工人員需要學習全新的Tag Lib。而且View層仍采用JSP,開發人員還是可以在其中寫邏輯代碼。由于JSP對XML的支持不佳,用戶想要獲得各種格式的文檔并非易事。

2.3 基于MVC model 2x的StrutsCX

將Struts中的View層用XML/XSLT技術替換掉,這就是Model 2x模式。它極大程度地發揮了XSLT的優勢。作為一種W3C的正式標準,XSLT提供了一種把XML數據轉換成純文本、PDF、HTML/XHTML、WML、VoiceXML等任意XML格式的靈活、強大的工具[1]。XSLT是高度可定制和可擴展的,并且已經獲得廣泛的支持(已經存在包括Xalan在內的20多種XSLT處理器)。StrutsCX即基于MVC model 2x的一個極好實現。

1)StrutsCX工作原理。StrutsCX把Struts和XSLT的優勢結合到一起,很好地實現Model 2x模式。其具體流程如圖2所示。比較圖1和圖2可得,StrutsCX在Struts的基礎上修改View層的內容。它的核心是Struts CX Servlet類。StrutsCXServlet功能包括生成XML文檔,讀取struts-config.xml得到相應的XSL文件,并通過XSLT輸出最終結果。

StrutsCX的配置也由XML文件實現。其中strutsconfig.xml是標準的Struts配置文件,功能和Struts中的相同,只是把其中指定View層的參數由原來的JSP文件名改為Struts CX Servlet。Strutscx-config.xml是StrutsCX專有的配置文件,它讓StrutsCX獲知到哪里去尋找StrutsCX資源屬性文件,例如語言、環境、XSL文件等配置。

圖2 StrutsCX的工作流程

2)StrutsCX的技術優勢。在實際應用中同基于Struts框架的信息發布平臺相比較,筆者得出StrutsCX的以下幾點優勢:①StrutsCX完全不采用JSP,而通過StrutsCX把XML格式的文件經過XSLT轉換最后輸出,從而使整個Web應用避免使用JSP和標記庫,省略大量的聲明,開發人員不用再學習Struts提供的不太標準的自定義標簽庫;②不采用JSP的同時也避免開發人員將邏輯代碼寫在JSP中,真正明晰地劃分業務邏輯層和表現層的界限;③StrutsCX充分發揮XSLT的優勢,利用XSLT可以方便地獲得各種輸出格式,如HTML、PDF和其他各種XML格式,而不再像JSP那樣以HTML為中心。StrutsCX采用i18n實現國際化,它允許以不同的語言和編碼方式保存、輸出內容。

3 基于StrutsCX框架的信息發布平臺應用實例

3.1 技術路線

采用StrutsCX結構編程,通過searchnews.jar調用xmlutil和infopublish軟件包中的方法從數據庫中讀取數據表Content中的數據,并通過StrutsCX采用XSLT轉換成為HTML格式顯示出結果。

3.2 主要實現程序

TestAction.java:用戶Action類,處理Request請求,調用相應的EJB方法,將輸出結果表示為XML文檔形式。

test.xsl:XSL樣式文件。

searchnews.jar:session bean,用來讀取數據庫中Content數據表中的數據。

db.xml:定義系統使用的數據表結構。數據表Content相應的XML配置文件放在jboss目錄下。

xmlutil.jar:session bean,用來連接數據庫,并將取出的數據封裝為XML文檔對象。

InfoPublish.jar:Java Bean,定義基本數據類型。

3.3 StrutsCX的配置

在struts-config.xml中設置forward的path參數為“/StrutsCXServlet/”,在strutscx-config.xml中設置輸出格式為HTML,則相應的XSL樣式文件test.xsl的路徑為“/WEB-INF/xsl/html/test.xsl”。

3.4 XML格式和HTML格式的結果輸出

StrutsCX提供的調試變量主要有debugxml和encoding。設置encoding變量為gb2312。 設置debugxml變量為true,則輸出XML格式的文檔(如圖3所示)。值得注意的是,此時除了用戶信息文件(圖中XML DATA部分),還會一起輸出由StrutsCX自己生產的XML文檔,包括RESSOURCEN PROPERTIES、ERROR PARAMETERS、REQUEST PARAMETERS和SESSION PARAMETERS。由于篇幅限制,這里沒有在圖中顯示。

debugxml的缺省值為false,此時輸出用戶指定格式的文檔,本例中設為HTML格式。最后輸出如圖4所示。

圖3 xml格式的輸出

圖4 HTML格式的輸出

4 結論

本文給出基于StrutsCX框架的網絡信息發布的方法。實際應用表明,采用該方法的信息發布平臺分層結構清晰,輸出格式靈活,并且便于管理和二次開發。完善的信息發布平臺功能還包括對信息的查詢、修改、增加等,由于篇幅限制,這里未能具體討論。同StrutsCX類似的另一種框架為Struts+Cocoon,關于2種方法的優缺點比較還有待深入研究。

[1]Woehrlin B. Generate Web Output in Multiple Formats and Languages with StrutsCX[EB/OL].http://www.devx.com/Java/Article/11381

[2]StrutsCX-Struts with XSLT[EB/OL].http://it.cappuccinonet.com

猜你喜歡
優勢信息
優勢 等
矮的優勢
趣味(語文)(2020年3期)2020-07-27 01:42:46
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
畫與話
發揚優勢 有所作為
中國衛生(2015年2期)2015-11-12 13:13:54
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
談“五老”的五大特殊優勢
中國火炬(2014年11期)2014-07-25 10:31:58
第二優勢
中國體育(2004年3期)2004-11-11 08:53:02
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 亚洲天堂.com| 欧美另类视频一区二区三区| 精品自窥自偷在线看| 美女无遮挡免费视频网站| 免费在线视频a| 2021天堂在线亚洲精品专区| 国产精品毛片在线直播完整版| 中文字幕不卡免费高清视频| 日韩精品一区二区三区免费在线观看| 尤物视频一区| 另类重口100页在线播放| 91精品国产综合久久香蕉922| 国产成人三级在线观看视频| 欧美在线黄| 欧美国产视频| 亚洲黄色激情网站| 黄色国产在线| 91精品视频播放| 国产日韩欧美一区二区三区在线| 99久久精品视香蕉蕉| 在线观看国产黄色| 国产精品一区二区久久精品无码| 在线精品视频成人网| 少妇精品久久久一区二区三区| 久久99国产综合精品女同| 国产亚洲精品精品精品| 日本爱爱精品一区二区| 国产喷水视频| 一本大道无码日韩精品影视| 天天做天天爱夜夜爽毛片毛片| 99国产精品国产高清一区二区| 91香蕉国产亚洲一二三区 | 91在线国内在线播放老师| 亚洲天堂视频网站| 老司机午夜精品视频你懂的| 2020久久国产综合精品swag| 美女无遮挡拍拍拍免费视频| 2020久久国产综合精品swag| 欧美一区二区精品久久久| 97se综合| 高清码无在线看| 91无码国产视频| 中文字幕无码制服中字| 国产精品国产主播在线观看| 99国产精品国产| 日本高清成本人视频一区| 久久熟女AV| 欧美不卡视频在线| 婷婷午夜天| 91在线无码精品秘九色APP| 强奷白丝美女在线观看| 真人免费一级毛片一区二区| 欧美在线视频不卡第一页| 青草娱乐极品免费视频| 青青青视频免费一区二区| 东京热高清无码精品| 极品私人尤物在线精品首页 | 日韩大片免费观看视频播放| 亚洲天堂区| 国产成人精品午夜视频'| 在线网站18禁| 亚洲国产成人无码AV在线影院L| 欧美成人综合视频| 一本大道香蕉高清久久| 久久精品人人做人人| 怡春院欧美一区二区三区免费| 日韩精品免费一线在线观看| 欧美精品亚洲精品日韩专区| 国内精品一区二区在线观看| 婷婷亚洲综合五月天在线| 69av在线| 国产乱人伦AV在线A| jizz在线观看| 99re在线免费视频| 国产xx在线观看| 亚洲成人福利网站| 色综合五月| 无码一区二区波多野结衣播放搜索| 91小视频版在线观看www| 草草影院国产第一页| 在线观看无码av免费不卡网站 | 亚洲精品视频免费|