top
Loading...
JSP簡介(一)
JSP(IAVA SERVER PAGES)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準,其在動態網頁的建設中有其強大而別特的功能,現介紹如下:
一、JSP的優點
1,將內容的生成和顯示進行分離
使用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態內容(內容是根據請求來變化的,例如請求帳戶信息或者特定的一瓶酒的價格)。生成內容的邏輯被封裝在標識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務器端運行。如果核心邏輯被封裝在標識和Beans中,那么其他人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的生成。
在服務器端,JSP引擎解釋JSP標識和小腳本,生成所請求的內容(例如,通過訪問JavaBeans組件,使用JDBCTM技術訪問數據庫,或者包含文件),并且將結果以HTML(或者XML)頁面的形式發送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。

2,生成可重用的組件
絕大多數JSP頁面依賴于可重用的,跨平臺的組件(JavaBeans或者Enterprise JavaBeansTM組件)來執行應用程序所要求的更為復雜的處理。開發人員能夠共享和交換執行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團體所使用。基于組件的方法加速了總體開發過程,并且使得各種組織在他們現有的技能和優化結果的開發努力中得到平衡。
3,采用標識簡化頁面開發
Web頁面開發人員不會都是熟悉腳本語言的編程人員。JavaServer Page技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態內容生成所需要的。標準的JSP標識能夠訪問和實例化JavaBeans組件,設置或者檢索組件屬性,下載Applet,以及執行用其他方法更難于編碼和耗時的功能。
通過開發定制化標識庫,JSP技術是可以擴展的。今后,第三方開發人員和其他人員可以為常用功能創建自己的標識庫。這使得Web頁面開發人員能夠使用熟悉的工具和如同標識一樣的執行特定功能的構件來工作。

4, 將內容的生成和顯示進行分離
與SERVLETS相比,JSP能提供所有SERVLETS功能,但它比用println書寫和修改HTML更方便。此外,你可以更明確的進行分工,WEB頁面設計人員編寫HTML,只需要留出地方讓SERVLETS程序員插入動態部分即可。
5, 由于JSP頁面的內置腳本語言是基于Java編程語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術的所有好處,包括健壯的存儲管理和安全性。
6 作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。隨著越來越多的供應商將JSP支持添加到他們的產品中,您可以使用自己所選擇的服務器和工具,更改工具或服務器并不影響當前的應用。

二、JSP的運行環境的安裝
1、要使WEB 服務器支持JSP首先需要裝JAVA的開發環境JDK,現其最高版本為1.2.2,其可在java.sun.com下載。以Window平臺下為例,下載jdk1.2.2 for win包,解壓至c:jdk1.2.2目錄下即可。
2、 其次是支持jsp引擎的WEB服務器或jsp引擎,如Java Web Server 2.0,resin。現介紹如下:

GNU JSP http://www.klomp.org/gnuisp GPL
JavaServer Web Development kit http://java.sun.com/products/jws JavaSoft的Web Server系統
Resin http://www.caucho.com 支持javascript,java,servlet
Sjsp http//web.telecom.cz/sator/jsp/
JRUN http://www.livesoftware.com livesoftware是Servlet主要的技術領導
Orion http://orion.evermind.net
ServletExec http://www.newatlanta.com
websphpere http://www.software.ibm.com/webservers
JServ-Java Apache http://java.apache.org 必須與Apache Web Server配合

在這里我們使用免費servlet開發套件Resin,其最高版本為1.2。它的功能非常的強大支持javascript、java、servlet,在運行時能自動編譯新的和修改過的java源程序.從http://www.caucho.com下載其壓縮包解壓,這里我把其解壓于c:盤下。然后進入c:esin1.2in中運行setup.exe設置resin的工作目錄為c:esin1.2。
最后運行httpd.exe啟動Web服務器,打開瀏覽器,在地址欄輸入:http://localhost:8080,你將看見到resin的歡迎界面。需要說明的是resin的web服務器的根目錄是resin目錄下的doc目錄。

三、JSP指令和腳本元素

1,JSP指令是為JSP引擎而設計的。他們并不直接產生任何可見輸出,而只是告訴引擎如何處理其余JSP頁面。這些指令始終被括在 “$#@60;%@ ?%>”標記中。兩個最重要的指令是“pagePage”和“Include”。幾乎在所有JSP頁面頂部都會看到“Page”指令。盡管不是必須的,但它可以讓你指定:到何處查找起支持作用的Java類別:
$#@60;%@ page import="java.util.Date" %>,

出現Java運行問題時,將網上沖浪者引向何處:
$#@60;%@ page errorPage="errorPage.jsp" %>,

還有你是否需要管理用戶的會話級信息,這些信息可能來自多個網頁述:
$#@60;%@ page session="true" %>.
“Include”指令可以把你的內容分成更多可管理的元素,比如包括一個普通頁面頁眉或頁腳的元素。包含的網頁可以是一個固定的HTML 頁面或更多的JSP內容:
$#@60;%@ include file="filename.jsp" %>
2 JSP聲明用來讓你定義頁面級變量,以保存信息或定義JSP頁面的其余部分可能需要的支持方法。如果你發現代碼太多,通常最好把它們寫成一個獨立的Java類別。聲明一般都在“$#@60;%! ?%>”標記中。一定要以分號(;)結束變量聲明,因為任何內容都必須是有效的Java語句:
$#@60;%! int i=0; %>。

3,有了JSP表達式,表達式評估結果會被轉換成一個字符串,并且被直接包括在輸出頁面之內。JSP 表達式包含在“$#@60;%= ?%>” 標記中,沒有分號,除非在加引號的字符串部分使用分號。
$#@60;%= i %>
$#@60;%= "Hello" %> .

4 代碼片段/腳本片段(Scriptlets) JSP代碼片段或腳本片段是嵌在“$#@60;% ?%>”標記中的。這種Java代碼在Web服務器響應請求時就會運行。在腳本片段周圍可能是原始的HTML或XML語句,在這些地方,代碼片段可以使你創建條件執行代碼,或要用到另外一段代碼的代碼。例如,以下的代碼組合使用表達式和代碼片段,顯示H1、H2、H3和H4標記中的字符串“Hello”。代碼片段并不局限于一行源代碼:

$#@60;% for (int i=1; i$#@60;=4; i++) { %>
$#@60;H$#@60;%=i%>>Hello$#@60;/H$#@60;%=i%>>
$#@60;% } %>.

5 在JSP中嵌入式注釋。盡管你始終可以在文件中加入HTML注釋,但用戶在查看頁面源代碼時會看到這些注釋。如果你不想讓用戶看到它,你就應該將其嵌入“$#@60;%-- ?--%>” 標記中:
$#@60;%-- comment for server side only --%>.

JSP還有三類主要的元素:Scripting elements,Directives,和 Actions.使用Scripting elements您可以定義最終轉換為Servlet的部分,Directives 使您可以控制這個Servlet的整體結構,而Actions使您可以指定可重用的已有組件,另外,還可控制JSP引擎的運行。
四 簡單應用
好現在以幾個簡單的例了來應用以上所介如的:
例一 hello.jsp在瀏覽器上輸出"hello world".
$#@60;HTML>
$#@60;HEAD>
$#@60;TITLE>Simple Example$#@60;/TITLE>
$#@60;/HEAD>
$#@60;BODY>
$#@60;% out.println("Hello, world!"); %>
$#@60;/BODY>
$#@60;/HTML>

例二、dates.jsp在瀏覽器上輸出服務器端取出的時間.

$#@60;HTML>
$#@60;HEAD>
$#@60;TITLE>JSP Date Demo Page$#@60;/TITLE>
$#@60;/HEAD>
$#@60;BODY>
$#@60;H1>JSP Date Demo Page$#@60;/H1>
The current date is
$#@60;%
java.util.Date date = new java.util.Date();
out.println(date);
%>.
$#@60;br>expression syle
$#@60;%=date%>
$#@60;/BODY>
$#@60;/HTML>
把hello.jsp和dates.jsp放入resin的doc目錄下,然后在瀏覽器中運行:http://localhost:8080/hello.jsp 和 http://localhost:8080/dates.jsp即可見結果。好了這次就介紹到這里了,通過上面的介紹相信大家對jsp有了一個整體的認識吧.在簡介二里在做進一步的講解

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗