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