偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

下一代網(wǎng)絡(luò)開(kāi)發(fā)框架Stripes

開(kāi)發(fā) 后端
網(wǎng)絡(luò)開(kāi)發(fā)框架Stripes,該框架在2005年發(fā)布,不久前發(fā)布了1.5版。但國(guó)內(nèi)業(yè)界似乎對(duì)其很少提及,本文作者就個(gè)人感受,對(duì)Stripes略加介紹。

軟件的展示層(presentation layer)是最麻煩的。以網(wǎng)絡(luò)應(yīng)用為例,軟件的最終輸出,須以符合HTML的要求。此外,尚需對(duì)HTML元素進(jìn)行修飾和定位,這就用到了CSS技術(shù)。如果進(jìn)一步,可能還需要用到DHTML和Ajax。也就是說(shuō),還需要應(yīng)用JavaScript技術(shù)。

而網(wǎng)絡(luò)框架的功能主要有兩個(gè):

1.把程序數(shù)據(jù)以后臺(tái)軟件組件(如ActionBean等)的形式注入到展示層,同時(shí)把展示層傳入的用戶(hù)動(dòng)作導(dǎo)入到后臺(tái)組件,激活業(yè)務(wù)處理等;

2.提供頁(yè)面瀏覽定義功能。簡(jiǎn)單的說(shuō),就是把展示層與后臺(tái)組件合理有效地組合到一起。

這就出現(xiàn)了一個(gè)問(wèn)題,由于展示層用到了較多的技術(shù),網(wǎng)絡(luò)框架應(yīng)該盡可能保持透明,不要扭曲甚至掩蓋了這些基本技術(shù)。然而Struts、JSF等顯然沒(méi)有滿(mǎn)足這一要求,它們提供了太多的標(biāo)簽(tag lib),它們不知道Tags就是API。大家學(xué)習(xí)HTML Tags是心甘情愿的,因?yàn)镠TML是標(biāo)準(zhǔn)和通用的;但學(xué)習(xí)個(gè)別框架的tags就很抵觸。如果打開(kāi)一個(gè)JSP源代碼,里面到處都是框架的tag,這就太讓人頭痛了??梢韵胂?,這個(gè)公司用Struts,那個(gè)公司用JSF,對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)將是多么痛苦的一件事,這是兩套API啊!

另一個(gè)突出的問(wèn)題便是配置文件。自從XML興起,配置文件就成了第一頭痛的問(wèn)題??梢哉f(shuō),XML不論是對(duì)人還是對(duì)機(jī)器,都是不友好的。但Java社區(qū)過(guò)去片面追求靈活性(flexbility),低耦合(loose coupling)及其它諸多不切實(shí)際的華麗詞藻,XML配置文件滿(mǎn)天飛。以Struts為例,你可能要配置Form數(shù)據(jù),navigation數(shù)據(jù),validation數(shù)據(jù)等等。你可以想象,一個(gè)中等規(guī)模的網(wǎng)絡(luò)應(yīng)用的相關(guān)配置文件將會(huì)是如何龐大。這還沒(méi)有記入后臺(tái)其它組件的配置文件。這就會(huì)給你一種感受:寫(xiě)代碼容易,讓J2EE程序轉(zhuǎn)起來(lái)難,弄好配置文件更難。有人感嘆過(guò):我們是用Java寫(xiě)程序還是用XML來(lái)寫(xiě)程序?!

如果留心觀察,Spring的興起,無(wú)非是借了EJB2的東風(fēng)。因?yàn)楹笳咛爆嵙?,尤其是配置?wèn)題和資源注入方式。而EJB3的興起,則是實(shí)事求是,總結(jié)了EJB2的經(jīng)驗(yàn),吸取了Spring的優(yōu)點(diǎn)。EJB3最顯著的改進(jìn)便是將XML配置文件去除!而用annotation取而帶之,并提供合理的缺省值。

很明顯,下一個(gè)成功的網(wǎng)絡(luò)開(kāi)發(fā)框架,必然要在透明度、配置、后臺(tái)資源注入等方面有一個(gè)質(zhì)的飛躍。這當(dāng)然需要廣泛采用annotation技術(shù)。另一個(gè)最重要的要求,就是力求“簡(jiǎn)單”。

好了,說(shuō)了半天,似乎沒(méi)有涉及Stripes,其實(shí)不然。Stripes在配置(不需要自己的配置文件)、資源注入、validation、透明度等諸多方面均令人滿(mǎn)意,而且很容易與EJB3或Spring等結(jié)合。Stripes的tag及annotation的數(shù)量很少,也很容易上手。

Stripes:是一個(gè)視圖框架用于利用最新的Java技術(shù)來(lái)構(gòu)建Web應(yīng)用程序.它具有以下特點(diǎn):不需要對(duì)每一page/action進(jìn)行映射配置(ActionBeans將自動(dòng)被發(fā)現(xiàn),它利用注釋進(jìn)行配置),強(qiáng)大的綁定引擎用于構(gòu)建復(fù)雜并脫離請(qǐng)求參數(shù)(request parameter)的web對(duì)象,易于使用并可本地化的驗(yàn)證與類(lèi)型轉(zhuǎn)換系統(tǒng).可重復(fù)使用ActionBean作為視圖幫助類(lèi).支持一個(gè)form對(duì)應(yīng)多個(gè)事件.透明的文件上傳能力.支持持續(xù)開(kāi)發(fā)(比如在構(gòu)思你的ActionBean之前可以先構(gòu)建與測(cè)試JSP)等.

【編輯推薦】

  1. 基于Stripes框架進(jìn)行Java Web開(kāi)發(fā)
  2. 解決Jsp頁(yè)面URL中傳遞參數(shù)亂碼的方法
  3. JSP安全編程實(shí)例淺析
責(zé)任編輯:楊鵬飛 來(lái)源: 51CTO整理
相關(guān)推薦

2022-10-14 08:31:10

2013-07-27 21:28:44

2016-01-26 11:58:12

2013-06-27 11:21:17

2021-05-22 23:01:21

人工智能網(wǎng)絡(luò)安全

2013-05-10 09:36:04

下一代網(wǎng)絡(luò)銳捷網(wǎng)絡(luò)簡(jiǎn)網(wǎng)絡(luò)

2015-10-19 17:15:33

網(wǎng)絡(luò)架構(gòu)/華三

2013-09-09 16:28:36

2020-09-27 17:27:58

邊緣計(jì)算云計(jì)算技術(shù)

2022-06-17 14:48:38

物聯(lián)網(wǎng)住房危機(jī)數(shù)據(jù)

2025-01-03 09:24:10

模型架構(gòu)論文

2020-09-16 10:28:54

邊緣計(jì)算云計(jì)算數(shù)據(jù)中心

2022-07-27 15:49:43

互聯(lián)網(wǎng)網(wǎng)絡(luò)范式人工智能

2014-03-06 10:53:15

2013-05-20 09:47:15

SDN軟件定義網(wǎng)絡(luò)

2009-11-20 08:47:07

路由器技術(shù)

2018-09-25 07:00:50

2014-05-09 13:18:54

iOS移動(dòng)互聯(lián)網(wǎng)

2015-09-28 16:24:34

YARNHadoop計(jì)算

2022-07-06 11:38:40

人工智能AI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)