古詩詞大全網 - 成語查詢 - 請問什麽是JSP,有這種編程語言嗎?

請問什麽是JSP,有這種編程語言嗎?

JSP是壹種相對較新的程序,效率比較高,如果妳對這不了解的話,請看下面什麽叫JSP.

JavaServer PagesTM (JSP)技術為創建顯示動態生成內容的Web頁面提供了壹個簡捷而快速的方法。JSP技術的設計目的是使得構造基於Web的應用程序更加容易和快捷,而這些應用程序能夠與各種Web服務器,應用服務器,瀏覽器和開發工具***同工作。

JSP頁面看上去象什麽?

JSP頁面看上去象標準的HTML和XML頁面,並附帶有JSP引擎能夠處理和抽取的額外元件。通常,JSP元件創建插入最終頁面的文本。

使用示例是描述JSP技術的最好方法。下面的JSP頁面非常簡單;它打印帶年、當月的天,並且根據時間使用"Good Morning"和"Good Afternoon"對您表示歡迎。

該頁面結合了普通的HTML和大量JSP元件組成。

對時鐘JavaBeans組件的調用

對壹個外部文件的包含(用於著作權信息)

JSP表達式和腳本

<HTML>

<%@ page language=="java" imports=="com.wombat.JSP.*" %>

<H1>Welcome</H1>

<P>Today is </P>

<jsp:useBean id=="clock" class=="calendar.jspCalendar" />

<UL>

<LI>Day: <%==clock.getDayOfMonth() %>

<LI>Year: <%==clock.getYear() %>

</UL>

<% if (Calendar.getInstance().get(Calendar.AM_PM) ==== Calendar.AM) { %>

Good Morning

<% } else { %>

Good Afternoon

<% } %>

<%@ include file=="copyright.html" %>

</HTML>

這個頁面包含下面這些組件:

壹個JSP指示將信息傳送到JSP引擎。在這個示例中,第壹行指出從該頁面即將訪問的壹些Java編程語言的擴展的位置。指示被設置在<%@和%>標記中。

固定模板數據:所有JSP引擎不能識別的標識將隨結果頁面發送。通常,這些標識是HTML或者XML標識。在上面的例子中包括無序列表(UL)和H1標識。

JSP動作或者標識:這些通常作為標準或定制標識被實現,並且具有XML標識的語法。在這個例子中,jsp:useBean標識實例化服務器端的Clock JavaBean。

壹個表達式:JSP引擎計算在<%==和%>標記間的所有東西。在上面的列表項中,時鐘組件(Clock)的Day和Year屬性值作為字符串返回,並且作為輸出插入到JSP文件中。在上面的例子中,第壹個列表項是日子,第二個是年份。

小腳本是執行不為標識所支持的功能或者將所有的東西捆綁在壹起的小的腳本。JSP 1.0軟件的內置腳本語言是基於Java語言的。在上面示例中的小腳本確定現在是上午還是下午,並且據此來歡迎用戶。

這個例子可能小了壹點,但是技術上卻不是。從業務上可以將關鍵的處理封裝在服務器端的組件中,並且Web開發人員能夠使用熟悉的語法和工具很容易地訪問這些信息。基於Java的小腳本提供了壹種靈活的方式以執行其他功能,而不要求擴展的腳本語言。頁面作為整體是可讀和可理解的,這就使得查找或者預防問題以及

***享工作更加容易。

這些組件中的壹部分在下面有更詳細的描述。

JSP指示

JSP頁面使用JSP指示將指令傳遞到JSP引擎。這其中包括:

JSP頁面指示傳遞頁面相關的信息,例如緩沖區和線程信息或者出錯處理。

語言指示指定腳本語言,以及所有的擴展。

包含指示(在上面例子中有顯示)可以被用來在頁面中包含壹個外部的文檔。壹個好的例子是著作權文檔或者公司信息文檔——在壹個集中地點保存該文檔並且在頁面中包含比在各個JSP頁面中更新要容易些。當然,被包含的文件也可能是另壹個JSP文件。

標識庫指示指出頁面可以調用的壹個客戶標識庫。

JSP標識

絕大多數JSP處理將通過與JSP相關的基於XML的標識完成。JSP 1.0中包含大量標準標識,這些標識作為核心標識包括:

jsp:useBean 這個標識聲明對壹個JavaBeans組件實例的使用。如果該組件的實例不存在,JavaBeans組件將實例化和註冊這個標識。

jsp:setProperty 這個標識在組件的實例中設置壹個屬性的值。 www.2000year.com

jsp:getProperty 這個標識獲取壹個組件的實例的屬性值,將其轉化為字符串,並且將它放入隱含對象"out"中。

jsp:include

jsp:forward

1.1版本將包含更多的標準標識。

標識的好處在於它們易於在應用程序間使用和***享。基於標識的語法的真正威力來自於客戶標識庫的開發,使得工具供應商或其他人員能夠為特定的要求創建和分派標識。

腳本元件

JSP頁面可以在頁面中包含小的腳本,稱之為小腳本(scriptlets)。小腳本是壹個代碼片段,在請求的處理過程中被執行。小腳本可以和頁面中的靜態元件組合(正如上面的例子壹樣)起來創建動態生成的頁面。

腳本在<%和%>標誌中被描述。在這對標誌中的所有東西都會被腳本描述語言引擎執行,在我們的例子中是主機上的Java虛擬機。

JSP規範支持所有常用的腳本元件,包括表達式和聲明。

JSP頁面的應用模型

JSP頁面由JSP引擎執行,引擎安裝在Web服務器或者使用JSP的應用服務器上。JSP引擎接受客戶端對JSP頁面的請求,並且生成JSP頁面給客戶端的響應。

JSP頁面通常被編譯成為Java Servlet。後者是壹個標準的Java擴展,在www.java.sun.com站點有更詳細的描述。頁面開發人員能夠訪問全部的Java應用環境,以利用Java技術的擴展性和可移植性。

當JSP頁面第壹次被調用時,如果它還不存在,就會被編譯成為壹個Java Servlet類,並且存儲在服務器的內存中。這使得在接下來的對該頁面的調用有非常快的響應。(這避免了CGI-BIN為每個HTTP請求生成壹個新的進程的問題,或是服務器端引用所引起的運行時語法分析。)

JSP頁面可以包含在多種不同的應用體系結構或者模型中。JSP頁面可以用於由不同協議、組件和格式所組成的聯合體中。下面的小節描述了壹些可能發生的情況。

壹個簡單應用

在壹個簡單實現中,瀏覽器直接調用JSP頁面,JSP頁面自己生成被請求的內容(可能會調用JDBC直接從數據庫中獲取信息)。JSP頁面能夠調用JDBC或者Java BlendTM組件來生成結果,並且創建標準的HTML,作為結果發送回瀏覽器。

這個模型基本上用JSP頁面(編譯成為Java Servlet)代替了CGI-BIN概念。這個方法擁有下列優點:

簡單而快速地編程

頁面作者可以很容易地根據請求和資源狀態生成動態內容

這個結構在許多應用上工作良好,但不能擴展到大量的基於Web的並發客戶訪問稀少的企業資源,因為每個客戶必須建立或者***享壹個到可用內容資源的連接。例如,如果JSP頁面訪問數據庫,可能生成許多到數據庫的連接,這將影響到數據庫的性能。

使用Java Servlet的壹個靈活的應用

在另壹種可能的配置中,基於Web的客戶機可能直接對Java Servlet進行請求,Servlet生成動態內容,將結果捆綁到壹個結果對象中並且調用JSP頁面。JSP頁面從該對象中訪問動態內容,並且將結果(例如HTML)發送回瀏覽器。

這個方法創建了更多的可以為應用程序間***享的可重用的組件,並且可以作為更大的應用的壹部分完成。但是,在處理如數據庫壹樣的企業資源的連接時,還是存在擴展性問題。

采用企業級JavaBean技術的可擴展處理

JSP頁面也可以作為企業級JavaBean(EJB)體系結構中的壹個中間層。在這種情況下,JSP頁面和後端資源通過EJB組件進行交互。

EJB組件管理對後端資源的訪問,從而為眾多的並發使用者提供可擴展的性能。對於電子商務或者其他應用,EJB管理交易和潛在的安全性。這將簡化JSP頁面。這個模型將為Java 2企業版(J2EE)平臺所支持。