什么是Java Server Pages?
JSP全稱(chēng)Java Server Pages,是一種動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。它使用JSP標(biāo)簽在HTML網(wǎng)頁(yè)中插入Java代碼。標(biāo)簽通常以結(jié)束。
JSP是一種Java servlet,主要用于實(shí)現(xiàn)Java web應(yīng)用程序的用戶界面部分。網(wǎng)頁(yè)開(kāi)發(fā)者們通過(guò)結(jié)合HTML代碼、XHTML代碼、XML元素以及嵌入JSP操作和命令來(lái)編寫(xiě)JSP。
JSP通過(guò)網(wǎng)頁(yè)表單獲取用戶輸入數(shù)據(jù)、訪問(wèn)數(shù)據(jù)庫(kù)及其他數(shù)據(jù)源,然后動(dòng)態(tài)地創(chuàng)建網(wǎng)頁(yè)。
JSP標(biāo)簽有多種功能,比如訪問(wèn)數(shù)據(jù)庫(kù)、記錄用戶選擇信息、訪問(wèn)JavaBeans組件等,還可以在不同的網(wǎng)頁(yè)中傳遞控制信息和共享信息。
JSP程序與CGI程序有著相似的功能,但和CGI程序相比,JSP程序有如下優(yōu)勢(shì):
性能更加優(yōu)越,因?yàn)镴SP可以直接在HTML網(wǎng)頁(yè)中動(dòng)態(tài)嵌入元素而不需要單獨(dú)引用CGI文件。
服務(wù)器調(diào)用的是已經(jīng)編譯好的JSP文件,而不像CGI/Perl那樣必須先載入解釋器和目標(biāo)腳本。
JSP基于Java Servlets API,因此,JSP擁有各種強(qiáng)大的企業(yè)級(jí)Java API,包括JDBC,JNDI,EJB,JAXP等等。
JSP頁(yè)面可以與處理業(yè)務(wù)邏輯的servlets一起使用,這種模式被Java servlet 模板引擎所支持。
最后,JSP是Java EE不可或缺的一部分,是一個(gè)完整的企業(yè)級(jí)應(yīng)用平臺(tái)。這意味著JSP可以用最簡(jiǎn)單的方式來(lái)實(shí)現(xiàn)最復(fù)雜的應(yīng)用。
以下列出了使用JSP帶來(lái)的其他好處:
與ASP相比:JSP有兩大優(yōu)勢(shì)。首先,動(dòng)態(tài)部分用Java編寫(xiě),而不是VB或其他MS專(zhuān)用語(yǔ)言,所以更加強(qiáng)大與易用。第二點(diǎn)就是JSP易于移植到非MS平臺(tái)上。
與純 Servlets相比:JSP可以很方便的編寫(xiě)或者修改HTML網(wǎng)頁(yè)而不用去面對(duì)大量的println語(yǔ)句。
與SSI相比:SSI無(wú)法使用表單數(shù)據(jù)、無(wú)法進(jìn)行數(shù)據(jù)庫(kù)鏈接。
與JavaScript相比:雖然JavaScript可以在客戶端動(dòng)態(tài)生成HTML,但是很難與服務(wù)器交互,因此不能提供復(fù)雜的服務(wù),比如訪問(wèn)數(shù)據(jù)庫(kù)和圖像處理等等。
與靜態(tài)HTML相比:靜態(tài)HTML不包含動(dòng)態(tài)信息。
● 與ASP也一樣,Java的一些優(yōu)勢(shì)正是它致命的問(wèn)題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。
● Java的運(yùn)行速度是用class常駐內(nèi)存來(lái)完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來(lái)說(shuō)確實(shí)是“最低性能價(jià)格比”了。