成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JSP簡(jiǎn)明教程:組件為中心的開(kāi)發(fā)平臺(tái)

開(kāi)發(fā) 后端
本JSP簡(jiǎn)明教程介紹了JSP是如何做為一種以組件為中心的開(kāi)發(fā)平臺(tái)出現(xiàn)的。由于JSP的以組件為中心的性質(zhì),他可以被Java和非Java開(kāi)發(fā)者同樣使用。

JSP是建立在Java servlets模型之上的表達(dá)層技術(shù),它使編寫HTML變得更簡(jiǎn)單。像SSJS一樣,它也允許你將靜態(tài)HTML內(nèi)容與服務(wù)器端腳本混合起來(lái)生成動(dòng)態(tài)輸出。JSP把Java作為默認(rèn)的腳本語(yǔ)言,然而,就像ASP可以使用其他語(yǔ)言(如JavaScript和VBScript)一樣,JSP規(guī)范也允許使用其他語(yǔ)言。盡管JSP和Java比那些基于簡(jiǎn)單語(yǔ)言的腳本平臺(tái)(如JavaScript和VBScript)具有更好的兼容性和堅(jiān)固性,但同時(shí)Java的學(xué)習(xí)難度也比簡(jiǎn)單的腳本語(yǔ)言要大。

為了兼顧兩者的優(yōu)點(diǎn)――一個(gè)健壯的web應(yīng)用平臺(tái)和一種簡(jiǎn)單易用的語(yǔ)言工具――JSP提供了大量的服務(wù)器端標(biāo)簽(Tag),這使得開(kāi)發(fā)者可以在不寫Java代碼的情況下完成大多數(shù)動(dòng)態(tài)內(nèi)容操作。那些只熟悉編寫腳本的開(kāi)發(fā)人員,甚至僅僅是HTML設(shè)計(jì)者,就可以使用JSP標(biāo)簽生成簡(jiǎn)單的輸出而不必學(xué)習(xí)Java。高級(jí)的腳本編寫者或Java程序員也可以使用這些標(biāo)簽,如果要在JSP頁(yè)面中完成更高級(jí)的操作,他們可以使用完整的Java語(yǔ)言。在這個(gè)JSP簡(jiǎn)明教程中你將了解到JSP產(chǎn)生的由來(lái)以及優(yōu)勢(shì)。

Page過(guò)時(shí)了,Component妙極了

要理解JSP怎樣聯(lián)合無(wú)限的力量來(lái)輕而易舉地實(shí)現(xiàn)魔術(shù)般的效果,你必須首先了解“組件為中心的網(wǎng)頁(yè)開(kāi)發(fā)”和“頁(yè)面為中心的網(wǎng)頁(yè)開(kāi)發(fā)”的區(qū)別。

SSJS和ASP都是在幾年前推出的,那時(shí)網(wǎng)絡(luò)還很年輕,沒(méi)有人知道除了把所有的商務(wù)、數(shù)據(jù)和表達(dá)邏輯統(tǒng)統(tǒng)堆進(jìn)原始網(wǎng)頁(yè)中之外還有什么更好的解決方法。這種以頁(yè)面為中心的模型容易學(xué)習(xí)并且得到相當(dāng)快速的發(fā)展。然而,隨著時(shí)間的推移,人們認(rèn)識(shí)到這種方法不適于構(gòu)建大型的、可升級(jí)的web應(yīng)用程序。在腳本環(huán)境中書(shū)寫的表達(dá)邏輯被鎖在頁(yè)面內(nèi),只有通過(guò)剪切和粘貼才能被重用。表達(dá)邏輯通常和商務(wù)及數(shù)據(jù)邏輯混在一起,這使得當(dāng)程序員試圖改變一個(gè)應(yīng)用程序的外觀而不想破壞與之緊密結(jié)合的商務(wù)邏輯時(shí),應(yīng)用程序的維護(hù)就像在蛋殼上走路一樣困難。其實(shí)在企業(yè)中,可重用組件的應(yīng)用早已經(jīng)很成熟,沒(méi)有人愿意為他們的應(yīng)用程序重寫那些邏輯。HTML和圖形設(shè)計(jì)師把他們的設(shè)計(jì)的實(shí)施工作交給了web編寫者,使他們不得不加倍工作――常常是手工編寫,因?yàn)闆](méi)有合適的工具可以把服務(wù)器端腳本與HTML內(nèi)容結(jié)合起來(lái)。簡(jiǎn)而言之,隨著web應(yīng)用程序的復(fù)雜性不斷提升,以頁(yè)面為中心的開(kāi)發(fā)方式的局限性變得明顯起來(lái)。

與此同時(shí),人們一直在尋找建立web應(yīng)用程序的更好方法,組件在客戶機(jī)-服務(wù)器領(lǐng)域風(fēng)行起來(lái)。JavaBeans和ActiveX被“快速應(yīng)用程序開(kāi)發(fā)”(RAD)工具發(fā)行商推廣給Java和Windows應(yīng)用程序開(kāi)發(fā)者用來(lái)快速開(kāi)發(fā)復(fù)雜的程序。這些技術(shù)使某領(lǐng)域內(nèi)的專家可以為本領(lǐng)域內(nèi)的垂直應(yīng)用編寫組件,而開(kāi)發(fā)者可以直接拿來(lái)使用而不必掌握這一領(lǐng)域的專門技術(shù)。比如,編制旅鼠交配習(xí)性圖表的Java程序員不需要了解任何關(guān)于旅鼠的知識(shí),他只要調(diào)用 LemmingsInLove JavaBeans(JavaBeans是一種基于Java的組件)就可得到相應(yīng)的領(lǐng)域?qū)iT信息,他只需關(guān)注如何使軟件更易于使用。出現(xiàn)一種把組件為中心的程序設(shè)計(jì)方法帶到服務(wù)器端web應(yīng)用領(lǐng)域的技術(shù)只是時(shí)間的問(wèn)題。

作為一種以組件為中心的開(kāi)發(fā)平臺(tái),JSP出現(xiàn)了。它以JavaBeans和Enterprise JavaBeans(EJB)組件包含商務(wù)和數(shù)據(jù)邏輯的模型為基礎(chǔ),提供大量標(biāo)簽和一個(gè)腳本平臺(tái)用來(lái)在HTML頁(yè)中顯示由JavaBeans產(chǎn)生或回送的內(nèi)容。由于JSP的以組件為中心的性質(zhì),他可以被Java和非Java開(kāi)發(fā)者同樣使用。非Java開(kāi)發(fā)者可以通過(guò)JSP的標(biāo)簽(Tags)來(lái)使用高級(jí)Java開(kāi)發(fā)者創(chuàng)建的JavaBeans。Java開(kāi)發(fā)者不僅可以創(chuàng)建和使用JavaBeans,還能在JSP頁(yè)中使用Java語(yǔ)言來(lái)更精密地控制基于底層JavaBeans的表達(dá)邏輯。

JSP請(qǐng)求模型

現(xiàn)在我們來(lái)看看JSP是如何處理HTTP請(qǐng)求的。在基本請(qǐng)求模型中,一個(gè)請(qǐng)求直接被送到JSP頁(yè)中。JSP代碼控制著進(jìn)行邏輯處理時(shí)與JavaBeans組件的交互,并在動(dòng)態(tài)生成的、混合了靜態(tài)HTML代碼的HTML頁(yè)中顯示結(jié)果。

Beans 可以是JavaBeans 或EJB組件。另外,更加復(fù)雜的請(qǐng)求模型可看作從被請(qǐng)求頁(yè)呼叫其他JSP頁(yè)或Java servlets。

JSP引擎技術(shù)內(nèi)幕

JSP引擎實(shí)際上要把JSP標(biāo)簽、JSP頁(yè)中的Java代碼甚至連同靜態(tài)HTML內(nèi)容都轉(zhuǎn)換為大塊的Java代碼。這些代碼塊被JSP引擎組織到用戶看不到的Java servlet中去,然后servlet自動(dòng)把它們編譯成Java字節(jié)碼。這樣,當(dāng)網(wǎng)站的訪問(wèn)者請(qǐng)求一個(gè)JSP頁(yè)時(shí),在他不知道的情況下,一個(gè)已經(jīng)生成的、預(yù)編譯過(guò)的servlet實(shí)際上將完成所有的工作。非常隱蔽-而又高效。因?yàn)閟ervlet是編譯過(guò)的,所以網(wǎng)頁(yè)中的JSP代碼不需要在每次請(qǐng)求該頁(yè)時(shí)被解釋一遍。JSP引擎只需在servlet代碼***被修改后編譯一次,然后這個(gè)編譯過(guò)的servlet就可以被執(zhí)行了。由于是JSP引擎自動(dòng)生成并編譯servlet,不用程序員動(dòng)手編譯代碼,所以JSP能帶給你高效的性能和快速開(kāi)發(fā)所需的靈活性。

如果你從Sun的網(wǎng)站下載JSP reference implementation并用它編寫應(yīng)用程序,你將能夠看到JSP引擎生成的.java和.class文件。如果你想更多地了解所生成的代碼,可以用文本編輯器打開(kāi).java文件查看Java servlet的代碼。

閱讀完了這篇JSP簡(jiǎn)明教程,你對(duì)于JSP大概有了一些新的認(rèn)識(shí)了吧。

【編輯推薦】

  1. 開(kāi)發(fā)JSP HTTP服務(wù)器
  2. 重構(gòu)Struts2 JSP分頁(yè)
  3. 解決JSP開(kāi)發(fā)Web程序中文顯示三種方法
  4. Java JSP利用Google的Translate開(kāi)發(fā)API
  5. 九個(gè)隱含JSP對(duì)象的詳細(xì)解析
責(zé)任編輯:yangsai 來(lái)源: JavaNB
相關(guān)推薦

2013-12-03 13:05:30

Lua腳本語(yǔ)言

2023-10-20 14:08:35

digDNS

2014-06-20 10:51:35

Linux LVM邏輯卷

2009-09-02 17:38:19

C#開(kāi)發(fā)GIS

2011-06-03 08:49:54

Java

2010-05-26 10:42:20

SVN1.5配置

2023-11-02 14:26:30

PyTorch機(jī)器學(xué)習(xí)

2023-11-02 14:30:25

機(jī)器學(xué)習(xí)

2009-08-06 17:45:08

C# Webservi

2021-01-05 09:55:46

TmateLinux命令

2010-12-15 12:48:26

VirtualBox

2025-06-05 01:40:00

2011-08-17 09:55:45

Objective-CCategory

2021-05-08 09:02:48

KubeBuilderOperatork8s

2011-08-17 10:00:12

Objective-CProperty

2021-05-11 09:31:31

kustomizeoperator kubernetes

2010-05-25 16:11:25

Git-SVN

2010-01-26 08:25:06

F#語(yǔ)法F#教程

2021-03-03 12:55:30

Python列表推導(dǎo)式代碼

2014-03-21 12:48:08

Java8Java8教程
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 免费在线观看黄视频 | 香蕉婷婷 | 国产一区二区三区四区三区四 | 国产精品国产三级国产aⅴ中文 | 91精品国产乱码久久久久久 | 黄网站在线观看 | 日日噜噜噜夜夜爽爽狠狠视频, | 国产综合在线视频 | 日韩一区不卡 | 韩日一区二区 | 天天综合久久 | 亚洲欧美综合精品久久成人 | 日韩色综合 | 午夜私人影院 | 国产精品久久久久久吹潮 | 日本视频中文字幕 | 久久综合九九 | www.av在线 | 亚洲 欧美 日韩 在线 | 欧美日韩亚洲系列 | 中国一级毛片免费 | 亚州激情 | 午夜影院中文字幕 | 欧美一级黄色片在线观看 | 精品久久久久久亚洲综合网站 | 成人影视网址 | 色www精品视频在线观看 | 欧美精品综合 | 日韩国产在线 | 久久88 | 色偷偷噜噜噜亚洲男人 | 91看片免费版| 91社区在线观看高清 | 日本中文字幕一区 | 国产视频91在线 | 国产亚洲精品综合一区 | 国产日韩一区二区三免费高清 | 成人小视频在线免费观看 | 欧美在线一区二区三区四区 | 四虎影音 | 国产传媒毛片精品视频第一次 |