自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JSP架構(gòu)、JSP開(kāi)發(fā)工具優(yōu)缺點(diǎn)比較

開(kāi)發(fā) 后端 架構(gòu)
本文介紹JSP架構(gòu)、JSP開(kāi)發(fā)工具優(yōu)缺點(diǎn)比較,包括介紹MVC架構(gòu)、數(shù)據(jù)類型轉(zhuǎn)換、驗(yàn)證和錯(cuò)誤處理、國(guó)際化、自定義組件和可選擇的渲染器等。

【51CTO.com綜合報(bào)道】隨著技術(shù)的日新月異 ,JSP的新技術(shù)也層出不窮,為了方面大家的學(xué)習(xí)與工作,下面將簡(jiǎn)單的介紹一下JSP架構(gòu)、JSP開(kāi)發(fā)工具、Web服務(wù)器及其鋮缺點(diǎn)。

JSP架構(gòu)

struts:  Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開(kāi)源軟件,這是它的一大優(yōu)點(diǎn),使開(kāi)發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。
    除此之外,Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個(gè)方面:Taglib和頁(yè)面導(dǎo)航。Taglib是Struts的標(biāo)記庫(kù),比較靈活,能大大提高開(kāi)發(fā)效率。另外,就目前國(guó)內(nèi)的JSP開(kāi)發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,很少開(kāi)發(fā)自己的標(biāo)記,或許Struts是一個(gè)很好的起點(diǎn)。struts歷經(jīng)6年多的發(fā)展,是目前用戶數(shù)最多、開(kāi)發(fā)團(tuán)隊(duì)和社區(qū)最火熱的框架,適用于中小型項(xiàng)目的快速開(kāi)發(fā)。

tapestry: Tapestry是一個(gè)開(kāi)源的基于servlet的應(yīng)用程序框架,它使用組件對(duì)象模型來(lái)創(chuàng)建動(dòng)態(tài)的,交互的web應(yīng)用。一個(gè)組件就是任意一個(gè)帶有jwcid屬性的html標(biāo)記。其中jwc的意思是Java Web Component。Tapestry使得java代碼與html完全分離,利用這個(gè)框架開(kāi)發(fā)大型應(yīng)用變得輕而易舉。并且開(kāi)發(fā)的應(yīng)用很容易維護(hù)和升級(jí)。Tapestry支持本地化,其錯(cuò)誤報(bào)告也很詳細(xì)。Tapestry主要利用javabean和xml技術(shù)進(jìn)行開(kāi)發(fā),是一個(gè)組件式的、事件驅(qū)動(dòng)的框架,理念很先進(jìn),想實(shí)現(xiàn)類似于桌面程序開(kāi)發(fā)的那種便捷模式。但是它的學(xué)習(xí)曲線比較陡峭,要花不少時(shí)間才能掌握它。它適合大型項(xiàng)目開(kāi)發(fā),隨著組件的積累,開(kāi)發(fā)越到后期可復(fù)用的組件越多,開(kāi)發(fā)速度越快。

spring mvc: Spring 的 Web MVC 框架是圍繞 DispatcherServlet 設(shè)計(jì)的,它把請(qǐng)求分派給處理程序,同時(shí)帶有可配置的處理程序映射、視圖解析、本地語(yǔ)言、主題解析以及上載文件支持。默認(rèn)的處理程序是非常簡(jiǎn)單的 Controller 接口,只有一個(gè)方法 ModelAndView handleRequest(request, response)。Spring 提供了一個(gè)控制器層次結(jié)構(gòu),可以派生子類。如果應(yīng)用程序需要處理用戶輸入表單,那么可以繼承 AbstractFormController。如果需要把多頁(yè)輸入處理到一個(gè)表單,那么可以繼承 AbstractWizardFormController。spring提供的東東,使用了spring的IoC,并且也非常強(qiáng)大,但是感覺(jué)它比較接近低層,要關(guān)注的東西很多。

JSF: JSF負(fù)責(zé)對(duì)客戶端設(shè)備產(chǎn)生影響,它提供了將表示層、應(yīng)用層和業(yè)務(wù)邏輯層整合在一起的工具,但是,JSF的范圍被限制在表示層。

以下是JSF Framwork提供最重要的服務(wù)。

◆MVC架構(gòu)

軟件用戶總是要操作各種數(shù)據(jù),例如,一個(gè)潛在用戶提交的注冊(cè)信息,這些數(shù)據(jù)叫做model。軟件開(kāi)發(fā)人員必須將這些數(shù)據(jù)展現(xiàn)給用戶,這就是視圖views。在Web應(yīng)用程序中,HTML文件用于描繪這些數(shù)據(jù)。

JSF將model和view結(jié)合在一起??梢杂孟旅娴姆绞綄odel屬性和view組件綁定:

"#(user.username) "/>

并且,JSF還充當(dāng)控制器Controller的角色,它可以響應(yīng)用戶的事件(例如,提交數(shù)據(jù)或者修改了某一個(gè)值),將這些事件的數(shù)據(jù)交由處理model的類以更新model。例如,可以調(diào)用一個(gè)方法來(lái)判斷某個(gè)用戶是否被允許登陸:

◆數(shù)據(jù)類型轉(zhuǎn)換

用戶在HTML表單輸入的都是文本,而我們需要的可能是數(shù)字、日期等類型,JSF提供了非常簡(jiǎn)單的方法用于指定或者自定義數(shù)據(jù)轉(zhuǎn)換規(guī)則。

◆驗(yàn)證和錯(cuò)誤處理

在JSF中可以非常簡(jiǎn)單的實(shí)現(xiàn)諸如“某個(gè)字段不得為空”或“某個(gè)自動(dòng)必須為數(shù)字”之類的規(guī)則??蛻暨€希望在他輸入錯(cuò)誤數(shù)據(jù)之后得到適當(dāng)?shù)奶崾?,JSF提供了完成絕大多數(shù)類似任務(wù)的方法。

◆國(guó)際化

JSF提供國(guó)際化發(fā)布管理,解決諸如字符編碼和資源文件選擇等課題。

◆自定義組件

◆可選擇的渲染器

缺省的,JSF將tag渲染為HTML格式。但是,也可以非常簡(jiǎn)單的擴(kuò)展它,以適應(yīng)其他渲染要求,比如WML。

◆工具支持

這個(gè)得等。

webwork: Webwork是一個(gè)源代碼開(kāi)放的Web應(yīng)用框架,用于簡(jiǎn)化基于Web的應(yīng)用開(kāi)發(fā)。
Webwork的最大優(yōu)點(diǎn)是它的簡(jiǎn)單性和靈活性。Webwork有一個(gè)很小的API,它使開(kāi)發(fā)者可以迅速進(jìn)行開(kāi)發(fā)工作。
Webwork是許多特性和適用性的組合,包括使用variour view技術(shù),例如JavaServer Pages(JSP),Velocity,Extensible Stylesheet Language Transformations
Specification(XSLT)和JasperReporters。還有,Webwork對(duì)JFreechart有非常好的支持。和struts一樣經(jīng)典的框架,而且比struts更易于使用,但是社群就不如struts那么強(qiáng)大了。

struts2:struts和webwork合并后的東東,還沒(méi)有正式發(fā)布,不知道會(huì)不會(huì)是個(gè)怪胎。#p#

服務(wù)器

這些框架基本不依賴特定的服務(wù)器,tomcat、jboss、weblogic都沒(méi)有問(wèn)題。

tomcat: Tomcat是一個(gè)開(kāi)放源代碼、運(yùn)行servlet和JSP Web應(yīng)用軟件的基于Java的Web應(yīng)用軟件容器。Tomcat由Apache-Jakarta子項(xiàng)目支持并由來(lái)自開(kāi)放性源代碼Java社區(qū)的志愿者進(jìn)行維護(hù)。Tomcat Server是根據(jù)servlet和JSP規(guī)范進(jìn)行執(zhí)行的,因此我們就可以說(shuō)Tomcat Server也實(shí)行了Apache-Jakarta規(guī)范且比絕大多數(shù)商業(yè)應(yīng)用軟件服務(wù)器要好。做為web容器輕量小巧,如果你不是使用ejb開(kāi)發(fā),那就可以用它,快速方便。

jboss:JBoss服務(wù)器是一種優(yōu)秀的J2EE服務(wù)器,和BEA的Weblogic,IBM的Websphere屬于同類產(chǎn)品, JBoss的優(yōu)勢(shì)在于具有良好的性價(jià)比,實(shí)現(xiàn)了所有j2ee的規(guī)范和api,支持的標(biāo)準(zhǔn)新,版本快,有開(kāi)放源碼的所有優(yōu)點(diǎn),支持熱deploy,適合開(kāi)發(fā)環(huán)境,尤其是大的團(tuán)隊(duì)開(kāi)發(fā),deploy會(huì)拖掉整個(gè)團(tuán)隊(duì)的效率。文檔太少。啟動(dòng)快。  
JBoss為完全開(kāi)放源碼的免費(fèi)軟件,而且具有良好的運(yùn)行效率和可靠性,因此已經(jīng)得到越來(lái)越多的J2EE應(yīng)用開(kāi)發(fā)者的青睞。

他其中的web容器就是用tomcat,不過(guò)支持了ejb,速度慢一些,不適合開(kāi)發(fā)階段,可以用于真實(shí)運(yùn)行環(huán)境(免費(fèi))。

weblogic: WebLogic 是一套基于JAVA功能強(qiáng)大的電子商務(wù)套件,提供了許多功能強(qiáng)大的中間件以方便編程人員編寫的JSP、SERVLET 等電子商務(wù)應(yīng)用,可以為企業(yè)提供一個(gè)完整的商務(wù)應(yīng)用解決方案。不適合開(kāi)發(fā)階段,太慢了,適合于運(yùn)行環(huán)境(收費(fèi))。

JSP開(kāi)發(fā)工具:

IBM VisualAge for Java :IBM的Web開(kāi)發(fā)產(chǎn)品可謂同類之中的龐然大物:體積龐大,功能眾多;使用對(duì)象是整個(gè)開(kāi)發(fā)團(tuán)隊(duì);而設(shè)計(jì)目標(biāo)則是搞定視野里能看到的一切!

VisualAge for Java是提供了向?qū)Чδ艿牡谝粋€(gè)Java IDE,它可以生成大量的EJB基礎(chǔ)結(jié)構(gòu)代碼,從而簡(jiǎn)化了EJB開(kāi)發(fā)過(guò)程。另外,對(duì)話和實(shí)體beans的創(chuàng)建向?qū)?、把beans映射到現(xiàn)有關(guān)系數(shù)據(jù)存儲(chǔ)以及先進(jìn)的測(cè)試環(huán)境極大地減少了創(chuàng)建、測(cè)試和部署EJB所花的時(shí)間。

Jbuiler :JBuilder 軟件的目標(biāo)定位是代碼開(kāi)發(fā)人員而不是高級(jí)設(shè)計(jì)人員,所以JBuilder中包含了大量的向?qū)С绦蚝推渌槍?duì)中間層的快速開(kāi)發(fā)工具。JBuilder性能穩(wěn)定、使用方便,特別適用于創(chuàng)建Java 組件。此外該軟件還提供了很多JSP功能。

Jrun :Allaire公司的JRun是一個(gè)具有最廣闊適用性的Java引擎,用于開(kāi)發(fā)及實(shí)施由Java Servlets(JSP)和JavaServer Pages編寫的服務(wù)器端Java應(yīng)用。其中Web服務(wù)器包括了Microsoft IIS,Netscape Enterprise Server,Apache等。
JRun是開(kāi)發(fā)實(shí)施服務(wù)器端Java的先進(jìn)引擎。如果你希望在你的Web應(yīng)用中添加服務(wù)器端Java功能,那么JRun將成為你的正確選擇。 

eclipse+myeclipse:幾乎可以滿足上述所有開(kāi)發(fā)的需要。也可以根據(jù)需要找到某個(gè)框架的特定插件,但是myeclipse本身就集成了各種插件,更方便易用。

其他相關(guān)的技術(shù):
urlrewrite:URL重寫轉(zhuǎn)換,讓前端用戶通過(guò)靜態(tài)路徑訪問(wèn)服務(wù),后臺(tái)自動(dòng)轉(zhuǎn)為動(dòng)態(tài)路徑。
sitemesh:簡(jiǎn)化頁(yè)面開(kāi)發(fā),讓頁(yè)面開(kāi)發(fā)模板化,公用相同的區(qū)域。
acegi安全框架:攔截并校驗(yàn)用戶訪問(wèn)的url,確定用戶是否有權(quán)訪問(wèn)。功能不僅如此,很強(qiáng)大。
displaytag:列表顯示,自動(dòng)實(shí)現(xiàn)翻頁(yè)、數(shù)據(jù)導(dǎo)出等功能。
dtree:樹(shù)形顯示,簡(jiǎn)單易用。
jfreechat:統(tǒng)計(jì)圖表生成。
dwr:適合java的ajax開(kāi)發(fā)框架,新版本中實(shí)現(xiàn)了服務(wù)器推模式,顛覆傳統(tǒng)的客戶端拉模式。
FCKeditor:網(wǎng)頁(yè)的所見(jiàn)即所得編輯器,漂亮的外觀,多語(yǔ)言支持等,很強(qiáng)大。

以上介紹JSP架構(gòu)、JSP開(kāi)發(fā)工具優(yōu)缺點(diǎn)比較

【編輯推薦】

  1. JSP開(kāi)發(fā)技術(shù)應(yīng)用詳解
  2. 詳解JSP開(kāi)發(fā)環(huán)境的配置
  3. JScript、Java、JavaScript和JSP總結(jié)
  4. 詳解JSP開(kāi)發(fā)環(huán)境的配置
  5. 詳解ASP和JSP比較
責(zé)任編輯:佚名 來(lái)源: 51CTO.com
相關(guān)推薦

2012-07-01 02:10:49

JSP架構(gòu)開(kāi)發(fā)工具

2009-07-03 12:59:50

Java ServleJSP開(kāi)發(fā)工具

2009-07-08 15:25:56

Servlet和JSP

2009-04-13 16:37:33

JSPWeb標(biāo)簽

2009-08-18 10:24:03

Java開(kāi)發(fā)工具

2017-07-06 14:01:32

CQRSEvent Sourc架構(gòu)

2011-04-08 15:19:04

開(kāi)發(fā)工具開(kāi)發(fā)

2009-07-21 13:43:53

ASP和JSP比較

2009-07-02 11:34:42

JSP指令JSP開(kāi)發(fā)

2011-04-08 15:58:02

開(kāi)發(fā)工具開(kāi)發(fā)

2009-07-01 18:50:29

Dreamweaver

2009-06-29 17:01:49

Servlet和JSPJSP技術(shù)

2009-12-31 16:42:37

LMDS接入技術(shù)

2017-07-05 17:47:17

架構(gòu)DockerContainer

2021-01-28 17:26:57

LoRa網(wǎng)絡(luò)架構(gòu)網(wǎng)絡(luò)技術(shù)

2009-07-02 13:33:12

JSP技術(shù)

2009-07-03 14:52:32

JSP開(kāi)發(fā)框架FastJSP

2022-09-22 12:04:22

.NET開(kāi)發(fā)框架

2009-07-03 11:50:26

Java ServleJSP

2009-07-03 16:56:37

JSP開(kāi)發(fā)環(huán)境
點(diǎn)贊
收藏

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