盤(pán)點(diǎn)JSP語(yǔ)言令開(kāi)發(fā)人員鐘愛(ài)的五大優(yōu)勢(shì)
在Web應(yīng)用開(kāi)發(fā)中,可提供選擇的動(dòng)態(tài)頁(yè)面語(yǔ)言技術(shù)有很多,如PHP、ASP、JSP等,在這些動(dòng)態(tài)頁(yè)面語(yǔ)言中,JSP憑借其自身的優(yōu)點(diǎn)成為開(kāi)發(fā)人員最喜歡的語(yǔ)言之一。以下是開(kāi)發(fā)人員鐘愛(ài)JSP的重要原因。
1.JSP就是在HTML中嵌入Java代碼,所以在本質(zhì)上JSP程序就是JAVA程序,JSP程序繼承了Java的一切優(yōu)點(diǎn)。JSP程序有嚴(yán)格的Java類(lèi)庫(kù)支持。
2.JSP頁(yè)面在服務(wù)器中都會(huì)被JSP編譯器編碼稱(chēng)對(duì)應(yīng)的Servlet,所以就擁有Java跨平臺(tái)的優(yōu)點(diǎn),所有的JSP程序,無(wú)需改動(dòng)就可以方便地遷移到其他操作系統(tǒng)平臺(tái),這是在其他動(dòng)態(tài)腳本語(yǔ)言中所無(wú)法想象的。
3.JSP中可以使用JavaBean進(jìn)行邏輯封裝,這樣就可以實(shí)現(xiàn)邏輯功能代碼的重用,從而大大提高系統(tǒng)的可重用性,同事也提高了程序的開(kāi)發(fā)效率。
4.JSP程序容易上手,如果有HTML和Java的基本知識(shí),那么學(xué)習(xí)JSP程序就沒(méi)有任何難度。
5.在Java領(lǐng)域,開(kāi)源的項(xiàng)目越來(lái)越多,這些開(kāi)源項(xiàng)目是全世界Java愛(ài)好者心血的結(jié)晶,在JSP程序中可以非常方便地使用這些開(kāi)源工具。在開(kāi)源項(xiàng)目的支持下,JSP更是其他動(dòng)態(tài)語(yǔ)言不能相比的。
開(kāi)發(fā)者從對(duì)Java的熱愛(ài)延伸到對(duì)JSP的熱愛(ài),同事JSP有事J2EE體系中最重要,而且又是最基礎(chǔ)的一個(gè)組成部分,如果要體驗(yàn)J2EE帶了的開(kāi)發(fā)效率和優(yōu)勢(shì),JSP會(huì)是非常有效的入門(mén)方式。
JSP編譯器指引與指令元件有五種型態(tài).在JSP1.0之后,大部分的JSP是包含在以作為結(jié)束的單一標(biāo)簽里.新的JSP1.1規(guī)格已經(jīng)發(fā)表了,它同時(shí)也與XML相容.
五種JSP的編譯器指引如下所示:
1.編譯器指引
2.預(yù)定義
3.運(yùn)算式
4.程序代碼
5.注解
下面我們分析一個(gè)簡(jiǎn)單的JSP頁(yè)面。您可以在JSWDK的examples目錄下創(chuàng)建另外一個(gè)目錄存放此文件,文件名字可以任意,但擴(kuò)展名必須為.jsp。從下面的代碼清單中可以看到,JSP頁(yè)面除了比普通HTML頁(yè)面多一些Java代碼外,兩者具有基本相同的結(jié)構(gòu)。Java代碼是通過(guò)符號(hào)加入到HTML代碼中間的,它的主要功能是生成并顯示一個(gè)從0到9的字符串。在這個(gè)字符串的前面和后面都是一些通過(guò)HTML代碼輸出的文本。
- < HTML> < HEAD>< TITLE>JSP 頁(yè)面 < /TITLE>< /HEAD> < BODY> < %@ page language="java" %> < %! String str="0"; %> < % for (int i=1; i < 10; i++) { strstrstr = str + i; } %> JSP輸出之前。
- < P> < %= str %> < P> JSP輸出之后。
- < /BODY> < /HTML> 這個(gè)JSP編譯器頁(yè)面可以分成幾個(gè)部分來(lái)分析。
首先是JSP指令。它描述的是頁(yè)面的基本信息,如所使用的語(yǔ)言、是否維持會(huì)話狀態(tài)、是否使用緩沖等。JSP指令由結(jié)束。在本例中,指令“”只簡(jiǎn)單地定義了本例使用的是Java語(yǔ)言(當(dāng)前,在JSP規(guī)范中Java是唯一被支持的語(yǔ)言)。
接下來(lái)的是JSP聲明。JSP聲明可以看成是定義類(lèi)這一層次的變量和方法的地方。JSP聲明由結(jié)束。如本例中的“”定義了一個(gè)字符串變量。在每一項(xiàng)聲明的后面都必須有一個(gè)分號(hào),就象在普通Java類(lèi)中聲明成員變量一樣。
位于之間的代碼塊是描述JSP頁(yè)面處理邏輯的Java代碼,如本例中的for循環(huán)所示。
最后,位于之間的代碼稱(chēng)為JSP表達(dá)式,如本例中的“”所示。JSP表達(dá)式提供了一種將JSP生成的數(shù)值嵌入HTML頁(yè)面的簡(jiǎn)單方法。