jsp基礎(chǔ)知識(shí)
JSP全名為Java Server Pages,中文名叫java服務(wù)器頁(yè)面,其根本是一個(gè)簡(jiǎn)化的Servlet設(shè)計(jì),它是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。以下是由學(xué)習(xí)啦小編整理關(guān)于jsp知識(shí)的內(nèi)容,希望大家喜歡!
JSP發(fā)展歷程
1.2版本
JSP1.2不支持EL,但可以使用外部的JSTL標(biāo)簽以便使用EL。
2.0版本
JSP 2.0的一個(gè)主要特點(diǎn)是它支持表達(dá)語(yǔ)言(expression language)。JSTL表達(dá)式語(yǔ)言可以使用標(biāo)記格式方便地訪問(wèn)JSP的隱含對(duì)象和JavaBeans組件,JSTL的核心標(biāo)記提供了流程和循環(huán)控制功能。自制標(biāo)記也有自定義函數(shù)的功能,因此基本上所有scriptlet能實(shí)現(xiàn)的功能都可以由JSTL替代。在JSP 2.0中,建議盡量使用EL而使JSP的格式更一致。
SimpleTag
JSP 2.0中加入了新的創(chuàng)建自制標(biāo)記的API,javax.servlet.jsp.tagext.SimpleTag定義了用來(lái)實(shí)現(xiàn)簡(jiǎn)單標(biāo)記的接口。和 JSP 1.2中的已有接口不同的是,SimpleTag接口不使用doStartTag和doEndTag方法,而提供了一個(gè)簡(jiǎn)單的doTag方法。這個(gè)方法在調(diào)用該標(biāo)記時(shí)只被使用一次。而需要在一個(gè)自制標(biāo)記中實(shí)現(xiàn)的所有邏輯過(guò)程、循環(huán)和對(duì)標(biāo)記體的評(píng)估等都在這個(gè)方法中實(shí)現(xiàn)。從這個(gè)方面來(lái)講, SimpleTag和IterationTag可以達(dá)到同等的作用。但SimpleTag的方法和處理周期要簡(jiǎn)單得多。在SimpleTag中還有用來(lái)設(shè)置JSP內(nèi)容的setJspBody和getJspBody方法。Web容器會(huì)使用setJspBody方法定義一個(gè)代表JSP內(nèi)容的 JspFragment對(duì)象。實(shí)現(xiàn)SimpleTag標(biāo)記的程序可以在doTag方法中根據(jù)需要多次調(diào)用getJspBody.invoke方法以處理JSP內(nèi)容。
重要功能
JSP2.0中的一個(gè)主要功能是JSP fragment,它的基本特點(diǎn)是可以使處理JSP的容器推遲評(píng)估JSP標(biāo)記屬性。我們知道一般JSP是首先評(píng)估JSP標(biāo)記的屬性,然后在處理JSP標(biāo)記時(shí)使用這些屬性,而JSP fragment提供了動(dòng)態(tài)的屬性。也就是說(shuō),這些屬性在JSP處理其標(biāo)記體時(shí)是可以被改變的。JSP需要將這樣的屬性定義為 javax.servlet.jsp.tagext.JspFragment類型。當(dāng)JSP標(biāo)記設(shè)置成這種形式時(shí),這種標(biāo)記屬性實(shí)際上的處理方法類似于標(biāo)記體。在實(shí)現(xiàn)標(biāo)記的程序中,標(biāo)記屬性可以被反復(fù)評(píng)估多次。這種用法稱為JSP fragment。JSP fragment還可以定義在一個(gè)SimpleTag處理程序中使用的自制標(biāo)記動(dòng)作。像前面例子說(shuō)明的,getJspBody返回一個(gè) JspFragment對(duì)象并可以在doTag方法中多次使用。需要注意的是,使用JSP fragment的JSP只能有一般的文本和JSP action,不能有scriptlet和scriptlet表達(dá)式。
JSP語(yǔ)言對(duì)比
與servlets的區(qū)別
從架構(gòu)上說(shuō),JSP可以被看作是從Servlets高級(jí)提煉而作為JAVA Servlet2.1 API的擴(kuò)展而應(yīng)用。Servlets和JSP最早都是由Sun Microsystems(升陽(yáng)公司)開(kāi)發(fā)的。從JSP1.2版本以來(lái),JSP處于Java Community Process(有人譯為:JAVA社區(qū)組織)開(kāi)發(fā)模式下。JSR-53規(guī)定了JSP 1.2和Servlet 2.4的規(guī)范,JSR-152規(guī)定了JSP 2.0的規(guī)范。2006年5月,JSP 2.1的規(guī)范作為Java EE5的一部份,在JSR-245中發(fā)布。
與ASP的比較
JSP(Java Server Page)與ASP(Active Server Page)兩者都是常用的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),也都是可以嵌入HTML中的程序,但兩者是有著本質(zhì)的不同,主要從以下幾個(gè)方面對(duì)其進(jìn)行比較:
1.Web服務(wù)器的支持:大多數(shù)通用的 Web服務(wù)器如:Apache、Netscape和Microsoft IIS都支持JSP頁(yè)面,只有微軟本身的Microsoft IIS和Personal Web Server可以支持ASP。
2.平臺(tái)的支持:JSP具有平臺(tái)獨(dú)立性,只要是一般的Java程序可以運(yùn)行的平臺(tái),都支持JSP程序。Windows平臺(tái)可以很好的支持ASP,但ASP對(duì)于基于Win32逐漸模型的依賴,使得它難于移植到其它平臺(tái)上。
3.組件模型:JSP是建立在可重用的、跨平臺(tái)的組件(如:JavaBeans、Enterprises JavaBeans和用戶定制的標(biāo)簽庫(kù)等組件)之上的,而ASP使用的是基于Win32的COM組件模型。
4.腳本語(yǔ)言:JSP可以使用Java編程語(yǔ)言或JavaScript作為腳本語(yǔ)言,而ASP使用VBScript或Jscript作為腳本語(yǔ)言。
5.安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全結(jié)構(gòu)。
6.與Access數(shù)據(jù)庫(kù)的連接:JSP使用JDBC建立與Access數(shù)據(jù)庫(kù)的連接,而ASP對(duì)Access數(shù)據(jù)庫(kù)使用Data Active Objects。
7.用戶定制的標(biāo)簽:JSP可以使用用戶定制標(biāo)簽庫(kù)進(jìn)行擴(kuò)充,而ASP中沒(méi)有用戶定制標(biāo)簽庫(kù),ASP是不能擴(kuò)充的。
看過(guò)“jsp基礎(chǔ)知識(shí)“的人還看了:
2.基于JSP網(wǎng)頁(yè)自動(dòng)生成工具的設(shè)計(jì)與實(shí)現(xiàn)論文
3.電子商務(wù)網(wǎng)站平臺(tái)3p設(shè)計(jì)技術(shù)與網(wǎng)絡(luò)數(shù)據(jù)庫(kù)論文
4.計(jì)算機(jī)等級(jí)考試經(jīng)驗(yàn):學(xué)習(xí)java的心態(tài)探討