欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
jsp入門(mén)學(xué)習教程

一、 什么是JSP

JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種 動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標準,其網(wǎng)址為http://www.javasoft.com/products/jsp。 在傳統的網(wǎng)頁(yè)HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(tag),就構成了JSP網(wǎng)頁(yè)(*.jsp)。Web服務(wù)器在遇到訪(fǎng)問(wèn)JSP網(wǎng)頁(yè)的請求時(shí),首先執行其中的程序片段,然后將執行結果以HTML格式返回給客戶(hù)。程序片段可以操作數據庫、重新定向網(wǎng)頁(yè)以及發(fā)送 email 等等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執行,網(wǎng)絡(luò )上傳送給客戶(hù)端的僅是得到的結果,對客戶(hù)瀏覽器的要求最低,可以實(shí)現無(wú)Plugin,無(wú)ActiveX,無(wú)Java Applet,甚至無(wú)Frame。 本文將介紹利用JSP技術(shù)開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)的方法,還將簡(jiǎn)要分析JSP技術(shù)和 Microsoft 公司的 ASP 技術(shù)的不同之處。

二、 如何安裝和啟動(dòng)

為了實(shí)驗JSP技術(shù),首先需要建立運行環(huán)境,這個(gè)過(guò)程相當簡(jiǎn)單:

1、在 http://java.sun.com/jdk/處下載JDK(Java 2 SDK、Standard Edition、v 1.2.2)。

2、在http://java.sun.com/products/jsp/處下載JSWDK(JavaServer Web Development Kit 1.0.1)。Linux用戶(hù)可以在ttp://jakarta.apache.org/處下載Tomcat 3.0。

3、安裝 以Windows NT環(huán)境為例,JDK的安裝是首先運行下載得到的jdk1_2_2-win.exe,然后修改系統環(huán)境參數,在PATH參數中加入[x:]\jdk1.2.2\bin以及增加新的環(huán)境參數 CLASSPATH=[x:]\jdk1.2.2\lib\tools.jar,其中[x:]是安裝JDK的硬盤(pán)符(c:、d: 等)。 JSWDK的安裝僅需將jswdk1_0_1-win.zip帶目錄釋放到硬盤(pán)根目錄下(c:\、d:\ 等),然后就可以在硬盤(pán)上找到\jswdk-1.0.1\目錄。將來(lái)如果不想保留JSWDK,刪除這個(gè)目錄就可以了,沒(méi)有任何系統文件和注冊表遺留問(wèn)題。更詳細的安裝過(guò)程以及Solaris/Unix和Linux下JDK、Tomcat的安裝可以參考下載得到的文件包中的安裝說(shuō)明。

4、啟動(dòng) 以Windows NT環(huán)境為例,在\jswdk-1.0.1\目錄下執行startserver.bat,就可啟動(dòng)JSWDK中一個(gè)支持JSP網(wǎng)頁(yè)技術(shù)的Web服務(wù)器。為了不與現有的Web服務(wù)器(例如IIS、PWS等)沖突,JSWDK的Web服務(wù)器使用了8080端口。 在瀏覽器的地址欄中鍵入http://localhost:8080或者http://127.0.0.1:8080后,如果能看到 JSWDK 的歡迎頁(yè)就說(shuō)明JSP實(shí)驗環(huán)境已經(jīng)建成,可進(jìn)入下一步實(shí)驗。 要關(guān)閉Web服務(wù)器則運行stopserver.bat。

三、 JSP簡(jiǎn)單示例

JSWDK中包含的Web服務(wù)器的文檔目錄在缺省狀態(tài)下為\jswdk-1.0.1\webpages,主文檔在缺省狀態(tài)下為index.html和index.jsp。也就是說(shuō)訪(fǎng)問(wèn)http://localhost:8080等于訪(fǎng)問(wèn)\jswdk-1.0.1\webpages\index.html。 用文本編輯器,如Windows中的記事本(Notepad),創(chuàng )建一個(gè)文本文件hi.jsp,保存在\jswdk-1.0.1\webpages\目錄下,其內容如下:

<html>
<head>
<title>Hi-JSP實(shí)驗</title>
</head>
<body>
<%
String Msg = "This JSP test.";
out.print("Hello World!");
%>
<h2><%=Msg%></h2>
</body>
</html>

在瀏覽器的地址欄中鍵入http://localhost:8080/hi.jsp,JSWDK中的Web服務(wù)器會(huì )執行JSP 文件中用<%以及%>括起來(lái)的Java程序語(yǔ)句,其中out.print是將文字輸出到網(wǎng)頁(yè),語(yǔ)句<%= 變量 | 表達式 %>的作用是將Java Scriptlet中變量或表達式的值輸出到網(wǎng)頁(yè),執行結果如圖1。 圖1 將變量Msg賦值為中文字符串,用<%= %>輸出,或者用out.print輸出中文字符串,則在英文版NT4及Redhat 6.1下實(shí)驗運行結果正常,而在中文NT 4.0和中文98下,則反而會(huì )出現亂碼。

四、 統一的網(wǎng)站界面

JSP支持服務(wù)器端的文件包含,即可以在一個(gè)JSP文件中插入多個(gè)其他文件,用來(lái)實(shí)現統一的網(wǎng)站界面。修改上述hi.jsp并另存為mypage.jsp:

<%@ include file="top.htm" %>
<%
String Msg = "This JSP test.";
out.print("Hello World!");
%>
<h2><%=Msg%></h2>
<%@ include file="bot.htm" %>

用可視化HTML編輯器,例如FrontPage、Dreamweave等設計網(wǎng)站的框架結構,將設計好的框架結構文件分割成兩個(gè)部分,上面一半保存為top.htm, 下面一半保存為bot.htm,代碼如下面所示:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>我的主頁(yè)</title>
</head>
<body>
<table border="0" width="100%" cellpadding="4" cellspacing="0" align="center">
<tr>
<td width="100%" colspan="2" bgcolor="#837ED1" align="center"><font face="隸書(shū)"
color="#FFFF00" size=5>主頁(yè)標題</font>
</td>
</tr>
<tr>
<td bgcolor="#837ED1" width="15%" valign="top" align="center"><br>
<font color="#FFFFFF">選項</font><p><font color="#FFFFFF">選項</font></p>
<p><font color="#FFFFFF">選項</font></p>
<p><font color="#FFFFFF">......</font></p>
<p></p>
</td>
<td width="85%" valign="top">
----------------------------------------------------------------------------------------------------------------
</td>
</tr>
</table>
</body>
</html>

在瀏覽器的地址欄中鍵入http://localhost:8080/mypage.jsp,得到結果如圖2。 圖2 這樣網(wǎng)站的界面就能統一起來(lái),而設計者可以集中精力在功能模塊上處理用戶(hù)登錄、連接數據庫、發(fā)送email等等。每個(gè)

JSP文件都有如下結構:

<%@ include file="top.htm" %>
<%
// 實(shí)現某些功能
%>
<%@ include file="bot.htm" %>

維護網(wǎng)站的界面也相對比較容易,只要修改top.htm和bot.htm,就能影響到所有網(wǎng)頁(yè)。

五、 服務(wù)器參數設置

JSWDK的Web服務(wù)器參數保存在\jswdk-1.0.1\webserver.xml中,用Windows寫(xiě)字板打開(kāi)并編輯這個(gè)文件就可以修改缺省設置值。本節內容主要針對JSWDK,Linux下Tomcat的設置方法略有不同。 JSWDK缺省的文檔目錄是\jswdk-1.0.1\webpages,在此目錄下可以建立子目錄,例如\jswdk-1.0.1\webpages\test,就能在瀏覽器中用http://localhost/test訪(fǎng)問(wèn)這個(gè)目錄,為了使得這個(gè)子目錄能執行JSP程序,還必須在webserver.xml中的<Service></Service>節加入:
<WebApplication id="test" mapping="/test" docBase="webpages/test" />
并且,還必須建立\jswdk-1.0.1\webpages\test\WEB-INF目錄,并從\jswdk-1.0.1\webpages\WEB-INF目錄中復制過(guò)來(lái)以下四個(gè)文件:mappings.properties、mime.properties、servlets.properties以及webapp.properties。完成這些過(guò)程,才能通知JSWDK的Web服務(wù)器執行http://localhost/test 中的JSP程序。

六、 JavaBean

JSP網(wǎng)頁(yè)吸引人的地方之一就是能結合JavaBean技術(shù)來(lái)擴充網(wǎng)頁(yè)中程序的功能。 JavaBean是一種Java類(lèi) (class),通過(guò)封裝屬性和方法成為具有某種功能或者處理某個(gè)業(yè)務(wù)的對象。JavaBean被組織成為package(數據包)以便進(jìn)行管理,實(shí)際上就是把一組JavaBean一起放在某某目錄中,每個(gè)類(lèi)的定義前加上package某某,本例中為test。目錄test必須放在系統環(huán)境CLASSPATH包含的目錄下,系統才能找到其中的JavaBean。JSWDK在缺省狀態(tài)下將\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\ 加入CLASSPATH。建立自己的JavaBean和package時(shí),就放在這個(gè)目錄中也不失為一種簡(jiǎn)易的方法。 下面介紹一個(gè)簡(jiǎn)單的JavaBean框架。用文本編輯器創(chuàng )建一個(gè)文本文件helloWorld.java,并保存在\jswd

k-1.0.1\webpages\WEB-INF\jsp\beans\test目錄下,其內容如下:

package test;
public class helloWorld {
public String name = "My first bean";
public String getHi()
{
return "Hello from " + name;
}
}

helloWorld.java編輯好后,在DOS狀態(tài)下,進(jìn)入目錄\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\,用JDK的javac命令編譯helloWorld.java如下:

javac helloWorld.java

注意,Java是區分大小寫(xiě)的,在程序中,編譯命令行中字母的大小寫(xiě)都不能寫(xiě)錯。 編譯成功就表示建立了一個(gè)JavaBean。下面看如何在JSP中使用這個(gè)JavaBean。用文本編輯器創(chuàng )建一個(gè)文本文件hi-bean.jsp,并保存在\jswdk-1.0.1\webpages\test目錄下,其內容如下:

<html>
<head>
<title>JavaBean 試驗</title>
</head>
<body>
<jsp:useBean id="helloBean" scope="session" class="test.helloWorld" />
<%= helloBean.getHi() %>
<hr>
<%
helloBean.name = "JSP";
out.print(helloBean.getHi());
%>
</body>
</html>

在JSP網(wǎng)頁(yè)中,使用 <jsp:useBean ... />語(yǔ)法來(lái)創(chuàng )建JavaBean對象,并命名為helloBean。讀者可從這個(gè)簡(jiǎn)單的例子中看出設置、獲取JavaBean屬性,以及調用JavaBean方法的做法。在瀏覽器的地址欄中鍵入http://localhost:8080/test/hi-bean.jsp,得到結果如圖3所示。 注意,如果修改和重新編譯了JavaBean程序,則需要關(guān)閉和重新啟動(dòng)JSWDK的Web服務(wù)器以后修改的結果才會(huì )有效。如果僅僅修改JSP文件,則不用重新啟動(dòng)JSWDK的Web服務(wù)器. 雖然,這僅僅完成了一個(gè)非常簡(jiǎn)單的JavaBean框架,但是遵循這個(gè)框架可以設計出多種多樣的JavaBean。例如,從JSP中訪(fǎng)問(wèn)數據通常就是通過(guò)JavaBean來(lái)實(shí)現的。

七、 數據庫連接

數據庫連接對動(dòng)態(tài)網(wǎng)站來(lái)說(shuō)是最為重要的部分,Java中連接數據庫的技術(shù)是JDBC(Java Database Connectivity)。很多數據庫系統帶有JDBC驅動(dòng)程序,Java程序就通過(guò)JDBC驅動(dòng)程序與數據庫相連,執行查詢(xún)、提取數據等等操作。Sun公司還開(kāi)發(fā)了JDBC-ODBC bridge,用此技術(shù)Java程序就可以訪(fǎng)問(wèn)帶有ODBC驅動(dòng)程序的數據庫,目前大多數數據庫系統都帶有ODBC驅動(dòng)程序,所以Java程序能訪(fǎng)問(wèn)諸如Oracle、Sybase、MS SQL Server和MS Access等數據庫。下面介紹如何用Access實(shí)現一個(gè)動(dòng)態(tài)FAQ(常見(jiàn)問(wèn)題及答案)網(wǎng)站。

首先建立一個(gè)Access數據庫faq.mdb,其中的表faqs有字段id(自動(dòng)增量型,并設為主關(guān)鍵字)、subject(文字型,長(cháng)度200)、answers(備注型)。這個(gè)表中可以存放一些編程知識的常見(jiàn)問(wèn)題及答案,

如圖4。

圖 4

然后,在Control Panel(控制面板)的ODBC Datasource模塊中加入System DSN,取名faq,并指向faq.mdb。

創(chuàng )建一個(gè)JavaBean,名為faq.java,并保存在\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\test目錄下。faq.java 的內容如下:

package test;
import java.sql.*;
public class faq {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:faq";
Connection conn = null;
ResultSet rs = null;
public faq() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("faq(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr);
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}
}

用上一節介紹的方法編譯faq.java以后,在\jswdk-1.0.1\webpages\test目錄下創(chuàng )建JSP文件faq.jsp,其內容如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>我的FAQ !</title>
</head>
<body>
<p><b>這是我的FAQ!</b></p>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="workM" scope="page" class="test.faq" />
<%
ResultSet RS = workM.executeQuery("SELECT * FROM faqs");
String tt;
while (RS.next()) {
tt = RS.getString("Answer");
out.print("<LI>" + RS.getString("Subject") + "</LI>");
out.print("<pre>" + tt + "</pre>");
}
RS.close();
%>

在瀏覽器的地址欄中鍵入http://localhost:8080/test/faq.jsp,faq.jsp調用JavaBean,從數據庫中讀出內容并輸出,得到結果如圖5所示. 限于篇幅,本文不能列舉JSP-JavaBean-JDBC/ODBC-數據庫的復雜例子,讀者可以從本文最后所推薦的網(wǎng)址中找到并下載到數據庫連接范例。

八、 技術(shù)分析

Microsoft 公司的 ASP 技術(shù)也是動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。JSP和ASP從形式上非常相似,ASP程序員一眼就能認出<% %>以及<%= %>。但是深入探究下去會(huì )發(fā)現它們很多的差別,其中最主要的有以下三點(diǎn):

1、 JSP的效率和安全性更高

ASP以源碼形式存放,以解釋方式運行,每次ASP網(wǎng)頁(yè)調用都需要對源碼進(jìn)行解釋?zhuān)\行效率不高。另外,IIS的漏洞曾使得許多網(wǎng)站源程序大曝光,包括筆者以前用ASP開(kāi)發(fā)的網(wǎng)站,ASP程序全部被人下載了去。 JSP在執行以前先被編譯成字節碼 (bytecode),字節碼由Java虛擬機(Java Virtual Machine)解釋執行,比源碼解釋的效率高;服務(wù)器上還有字節碼的Cache機制,能提高字節碼的訪(fǎng)問(wèn)效率。第一次調用JSP網(wǎng)頁(yè)可能稍慢,因為它被編譯成Cache,以后就快得多了。同時(shí),JSP源程序不大可能被下載,特別是

JavaBean程序完全可以放到不對外的目錄中。

2、 JSP的組件 (Component) 方式更方便 ASP通過(guò)COM來(lái)擴充復雜的功能,如文件上載、發(fā)送email以及將業(yè)務(wù)處理或者復雜計算分離出來(lái)成為獨立可重復利用的模塊。JSP通過(guò)JavaBean實(shí)現了同樣的功能擴充。 在開(kāi)發(fā)方面,COM的開(kāi)發(fā)遠比JavaBean復雜和繁瑣,學(xué)會(huì )ASP不難,但學(xué)會(huì )開(kāi)發(fā)COM可不簡(jiǎn)單。而JavaBean就簡(jiǎn)單多了,從本文上述示例中可以看出開(kāi)發(fā)JavaBean很方便。 在維護方面,COM必須在服務(wù)器上注冊,如果修改了COM程序,就必須重新注冊,甚至必須關(guān)機和重新啟動(dòng)。JavaBean則不需要注冊,放在CLASSPATH包含的目錄中就行了。如果JavaBean進(jìn)行了修改,則JSWDK和Tomcat現在還需要關(guān)閉和重新運行(但不是關(guān)機),但開(kāi)發(fā)者已經(jīng)許諾將在以后的版本中做到不需要關(guān)閉服務(wù)器。 另外JavaBean是完全的OOP,可以針對不同的業(yè)務(wù)處理功能方便地建立一整套可重復利用的對象庫,例如用戶(hù)權限控制、email自動(dòng)回復等等。

3、 JSP的適應平臺更廣

ASP目前僅適用于NT和IIS。雖然Unix下有ChiliSoft的插件來(lái)支持ASP,但是ASP本身的功能有限,必須通過(guò)ASP+COM的組合來(lái)擴充,Unix下的COM實(shí)現起來(lái)非常困難。 JSP則不同,幾乎所有平臺都支持Java,JSP+JavaBean可以在所有平臺下通行無(wú)阻。NT下IIS通過(guò)一個(gè)插件,例如JRUN(http://www3.allaire.com/products/jrun/)或者ServletExec(http://www.newatlanta.

com/),就能支持JSP。著(zhù)名的Web服務(wù)器Apache已經(jīng)能夠支持JSP。由于A(yíng)pache廣泛應用在NT、Unix和Linux上,因此JSP有更廣泛的運行平臺。雖然現在NT操作系統占了很大的市場(chǎng)份額,但是在服務(wù)器方面Unix的優(yōu)勢仍然很大,而新崛起的Linux更是來(lái)勢不小。 從一個(gè)平臺移植到另外一個(gè)平臺,JSP和JavaBean甚至不用重新編譯,因為Java字節碼都是標準的與平臺無(wú)關(guān)的。筆者將在NT下實(shí)驗的JSP網(wǎng)頁(yè)原封不動(dòng)地拿到Linux下就運行起來(lái)了,感覺(jué)非常滿(mǎn)意。

九、 結論

綜上所述,JSP可謂是構建動(dòng)態(tài)網(wǎng)站的一個(gè)利器,故推薦給讀者,祝愿你們掌握JSP,開(kāi)發(fā)出優(yōu)秀的網(wǎng)站。ASP程序員也請試一下,JSP里也有session、request、response/out等對象,親自試試看如何。

附文

這里是關(guān)于JSP的重要參考資料,有興趣的讀者可以進(jìn)一步閱讀。

http://java.sun.com/products/jsp/faq.html

http://www.esperanto.org.nz/jsp/jspfaq.html

http://www.zdnet.com/pcweek/stories/news/0,4153,410709,00.html

http://developer.netscape.com/viewsource/kuslich_jsp

/kuslich_jsp.html

http://web2.java.sun.com/products/jsp/jsp-asp.html

http://www.asptoday.com/articles/19991022.htm

歡迎光臨www.dukejava.com!

JavaServer Pages (JSP)是基于Java的技術(shù),用于創(chuàng )建可支持跨平臺及跨Web服務(wù)器的動(dòng)態(tài)網(wǎng)頁(yè)。 JSP可與微軟的Active Server Pages (ASP)相媲美,但JSP使用的是類(lèi)似于HTML的標記和Java 代碼片段而不是用VBScript。當你使用不提供ASP本地支持的Web服務(wù)器(例如 Apache或Netscape服務(wù)器)時(shí),你就可以考慮使用JSP了。你雖然也可以為這些服務(wù)器弄一個(gè)ASP附加軟件模塊,但是太昂貴了?,F在Sun公司并不會(huì )因你使用JSP向你收費(雖然將來(lái)可能要收),況且用于Solaris、 Linux以及Windows系統的組件都很容易獲得。 不要把JSP與服務(wù)器端的JavaScript語(yǔ)言搞混了。Web服務(wù)器自動(dòng)將通過(guò)JSP生成的Java代碼片段轉換成Java 片段(servlets)。 JSP也可自動(dòng)控制許多功能,如過(guò)去用Perl腳本編寫(xiě)功能程序或像ASP這樣的服務(wù)器專(zhuān)用API(應用編程接口).我們馬上就要開(kāi)始幫助你建立一個(gè)使用JSP 技術(shù)的網(wǎng)站范例了。

準備好計算機以使用JSP 你需要Java2軟件開(kāi)發(fā)工具箱(J2SDK),過(guò)去稱(chēng)之為Java開(kāi)發(fā)工具箱(JDK)、JavaServer 網(wǎng)絡(luò )開(kāi)發(fā)工具箱(JSWDK)、Tomcat,或者其它能支持JSP的Web服務(wù)器。升陽(yáng)公司為Windows、Solaris以及 Linux平臺提供免費的J2SDK和JSWDK。 如果你想在現有的Web服務(wù)器上使用JSP,而此服務(wù)器本身不支持JSP和Java 代碼片段,可以試用Allaire公司的Jrun。它可以為Netscape的Enterprise Server和Fasttrack Server、微軟的Internet Information Server(IIS)和Personal WebServer(PWS)、Apache以及其他服務(wù)器充當Web服務(wù)器附件。你也可以使用Apache服務(wù)器的Java版,其中包含最新的JSWDK。 下載并安裝所需的軟件 目前,版本號為1.2.2-001的J2SDK可下載版以可安裝的歸檔文件形式出現。這個(gè)大約20MB的下載量軟件可提供一個(gè)徹底的Java開(kāi)發(fā)環(huán)境,讓你創(chuàng )造任何基于Java并且利用了而標準核心API的解決方案。其實(shí),你的Web服務(wù)器使用JSP的唯一條件是要有Java編輯器。要讓W(xué)eb服務(wù)器知道編輯器的位置,需要JAVA_HOME 環(huán)境變量設置為J2SDK安裝目錄。如果你已經(jīng)在Windows系統中進(jìn)行了安裝并且接受了默認目錄, 請將“set JAVA_HOME=C:\1.2.2”添加到你的“autoexec.bat”文件中,然后重新啟動(dòng)。 安裝J2SDK后,下載并安裝JSWDK或者是Tomcat β版,即基于Java的Apache Web服務(wù)器的β版。你把JSWDK放在什么地方是無(wú)關(guān)緊要的,只要你以后能找到它就行。通常,將其放在頂層目錄中,這樣你在替換JSWDK或JSDK時(shí)無(wú)需刪除另一個(gè)軟件。安裝好這個(gè)文件后,準備工作已經(jīng)就緒,你可以開(kāi)始JSP開(kāi)發(fā)工作了。 正確地安裝JSWDK后,請運行“startserver”腳本程序,以啟動(dòng)Web服務(wù)器,使其按照默認情況監聽(tīng)8080端口。你要在啟動(dòng)服務(wù)器之后查看您是否已正確地安裝了此工具,請加載一個(gè)JSP樣本文件(http://locahost:8080/examples/jsp/)。如果你能成功地運行這些樣本文件,說(shuō)明你已經(jīng)正確地安裝了這個(gè)軟件。如果你在用來(lái)啟動(dòng)服務(wù)器的控制臺窗口中看到報錯信息,你就需要做些修改。最經(jīng)常發(fā)生的問(wèn)題是沒(méi)有設置或不正確地設置了JAVA_HOME環(huán)境變量。要看到當前環(huán)境變量設置情況,要請在DOS提示符下鍵入“set”設置。 開(kāi)始 在解釋 JSP語(yǔ)法前,創(chuàng )建一個(gè)快捷網(wǎng)頁(yè),顯示目當前的日期和時(shí)間,并然后將之其保存為sample.jsp:

<html>
<head>
<title>First Page</title>
</head>
<body>
<H3>Today is:
<%= new java.util.Date() %>
</H3>
</body>
</html>.

把這個(gè)文件以及你所有的HTML 和 JSP 頁(yè)面放在JSWDK安裝目錄下的網(wǎng)頁(yè)目錄里。你可以從http://localhost:8080/sample.jsp加載此網(wǎng)頁(yè)。該網(wǎng)頁(yè)首次被訪(fǎng)問(wèn)時(shí),Web服務(wù)器會(huì )把JSP編譯成Java代碼片段,這樣你就能夠看到當前的日期和時(shí)間了。 你已經(jīng)下載、安裝并配置好了開(kāi)發(fā)環(huán)境,你可以開(kāi)始學(xué)習JSP語(yǔ)法并創(chuàng )建自己的基于JSP的解決方案了。

JSP基本語(yǔ)法

講完安裝問(wèn)題后,現在進(jìn)入來(lái)討論JSP語(yǔ)法。一個(gè)投機取巧的辦法是下載語(yǔ)法卡片。如果你不熟悉Java編程,也許你想看一下Sun的指南 。然而網(wǎng)頁(yè)創(chuàng )建者并不需要進(jìn)行太多的Java開(kāi)發(fā)。除了一些方法調用,在你的JSP網(wǎng)頁(yè)里應盡可能少用Java代碼。 記住以上提示,我們首先來(lái)看一看JSP指令和腳本元素,之后我們會(huì )解釋JavaBeans和隱含對象。共有五種JSP指令和腳本元素。在JSP 1.0版中,大部分JSP被一個(gè)以“<%” 開(kāi)頭和以“%>”結尾的的標記括在其中。在更新的JSP 1.1規范出臺后,就有了與XML兼容的版本。 JSP指令和腳本元素

Directives <%@ directive %>
Declarations <%! declaration %>
Expressions <%= expression %>
Code Fragment/Scriptlet <% code fragment %>
Comments <%-- comment --%>

指令

JSP指令是為JSP引擎而設計的。他們并不直接產(chǎn)生任何可見(jiàn)輸出,而只是告訴引擎如何處理其余JSP頁(yè)面。這些指令始終被括在 “<%@ ?%>”標記中。兩個(gè)最重要的指令是“pagePage”和“Include”?!癟aglib”指令不在討論之列,但是在用JSP1.1創(chuàng )建自定義標記可以使用它。 幾乎在所有JSP頁(yè)面頂部都會(huì )看到“Page”指令。盡管不是必須的,但它可以讓你指定: 到何處查找起支持作用的Java類(lèi)別:

<%@ page import="java.util.Date" %>,

出現Java運行問(wèn)題時(shí),將網(wǎng)上沖浪者引向何處:

<%@ page errorPage="errorPage.jsp" %>,

還有你是否需要管理用戶(hù)的會(huì )話(huà)級信息,這些信息可能來(lái)自多個(gè)網(wǎng)頁(yè)(在下面的JavaBeans一節將對此做進(jìn)一步講)述:

<%@ page session="true" %>.

“Include”指令可以把你的內容分成更多可管理的元素,比如包括一個(gè)普通頁(yè)面頁(yè)眉或頁(yè)腳的元素。包含的網(wǎng)頁(yè)可以是一個(gè)固定的HTML 頁(yè)面或更多的JSP內容:

<%@ include file="filename.jsp" %>

聲明

JSP聲明用來(lái)讓你定義頁(yè)面級變量,以保存信息或定義JSP頁(yè)面的其余部分可能需要的支持方法。如果你發(fā)現代碼太多,通常最好把它們寫(xiě)成一個(gè)獨立的Java類(lèi)別。聲明一般都在“<%! ?%>”標記中。一定要以分號(;)結束變量聲明,因為任何內容都必須是有效的Java語(yǔ)句:

<%! int i=0; %>。

表達式

有了JSP表達式,表達式評估結果會(huì )被轉換成一個(gè)字符串,并且被直接包括在輸出頁(yè)面之內。JSP 表達式包含在“<%= ?%>” 標記中,沒(méi)有分號,除非在加引號的字符串部分使用分號。

<%= i %>
<%= "Hello" %> .

代碼片段/腳本片段

代碼片段/腳本片段(Scriptlets) JSP代碼片段或腳本片段是嵌在“<% ?%>”標記中的。這種Java代碼在Web服務(wù)器響應請求時(shí)就會(huì )運行。在腳本片段周?chē)赡苁窃嫉腍TML或XML語(yǔ)句,在這些地方,代碼片段可以使你創(chuàng )建條件執行代碼,或要用到另外一段代碼的代碼。例如,以下的代碼組合使用表達式和代碼片段,顯示H1、H2、H3和H4標記中的字符串“Hello”。代碼片段并不局限于一行源代碼:

<% for (int i=1; i<=4; i++) { %>
<H<%=i%>>Hello</H<%=i%>>
<% } %>.

注釋

最后一個(gè)主要的JSP元素是嵌入式注釋。盡管你始終可以在文件中加入HTML注釋?zhuān)脩?hù)在查看頁(yè)面源代碼時(shí)會(huì )看到這些注釋。如果你不想讓用戶(hù)看到它,你就應該將其嵌入“<%-- ?--%>” 標記中:

<%-- comment for server side only --%>.
帶JavaBean 的JSP 雖然你可以把大段的代碼放在腳本片段(scriptlet)內,但是絕大多數的Java代碼屬于可重復使用的名為JavaBea的組件。JavaBean類(lèi)似于A(yíng)ctiveX控件:他們都能提供常用功能并且可以重復使用。 JavaBean的值是通過(guò)一些屬性獲得的,你可通過(guò)這些屬性訪(fǎng)問(wèn)JavaBean設置。以一個(gè)人來(lái)打比方,這個(gè)人就是一個(gè)JavaBean,這個(gè)人的名字、身份證號碼以及住址就是其屬性。在JSP網(wǎng)站,你基本上就是通過(guò)玩“Connect the beans)”來(lái)使你的網(wǎng)站動(dòng)態(tài)化。 假設JavaBean先于網(wǎng)站被創(chuàng )建出來(lái),你需要做的第一件事就是告訴JSP頁(yè)面它將要用到一個(gè)“Bean”。你可以用“<jsp:useBean>”標記來(lái)做到這一點(diǎn):

<jsp:useBean id="localName" class="com.jguru.Person" scope="application" />。
“<jsp:useBean>”標記要求你用“id”屬性來(lái)識鑒別Bean。這里你提供一個(gè)名字來(lái)JSP頁(yè)面其余部分的Bean。除了“id”屬性,你還須告訴網(wǎng)頁(yè)面從何處查找Bean,或者它的Java類(lèi)別名是什么。這種類(lèi)別屬性提供確認Bean的功能,其他一些方法也可以做到這一點(diǎn)。最后一個(gè)必需的元素是“scope”屬性。有了“scope”屬性的幫助,你就能告訴Bean為單一頁(yè)面(默認情況)[scope="page"]、為[scope="request"]請求為會(huì )話(huà)[scope="session"],或者為整個(gè)應用程序[scope="application"]保持留信息。有了會(huì )話(huà)范圍,你就能非常容易地在JSP網(wǎng)頁(yè)面上維護購物車(chē)等項目。 一旦你聲名了一個(gè)JavaBean,你就可以訪(fǎng)問(wèn)它的屬性來(lái)定制它。要獲得屬性值,請用“<jsp:getProperty>”標記。有了這個(gè)標記,你就能指定將要用到的Bean名稱(chēng)(從useBean的"id"字段得到)以及你想得到其值的屬性。實(shí)際的值被放在輸出中:

<jsp:getProperty id="localName" property="name" />。

要改變JavaBean屬性,你必須使用“<jsp:setProperty>”標記。對這個(gè)標記,你需要再次識別Bean和屬性,以修改并額外提供新值。如果命名正確,這些值可以從一個(gè)已提交的表中直接獲得:參數獲得:

<jsp:setProperty id="localName" property="*" />;

可以從一個(gè)參數獲得,但你必須直接命名屬性和參數:

<jsp:setProperty id="localName" property="serialNumber" value="string" />

或者直接用一個(gè)名字稱(chēng)和值來(lái)設置:

<jsp:setProperty id="localName" property="serialNumber" value= <%= expression %> .

關(guān)于JavaBean 的最后一件事: 為了Web服務(wù)器能找到JavaBean,你需要將其類(lèi)別文件放在一個(gè)特殊位置。用JSWDK,最 方便的位置是安裝目錄下的類(lèi)別目錄,如\jswdk-1.0.1\classes。

JSP隱含對象

與JSP語(yǔ)法相關(guān)的最后的元素是一些叫做“隱含對象”的東西。在JSP代碼片段中,你可以利用這些隱含對象與JSP頁(yè)面的代碼片段執行環(huán)境產(chǎn)生互動(dòng)。應盡量少訪(fǎng)問(wèn)這些內置隱含對象。但是,在一某些情況下,訪(fǎng)問(wèn)隱含對象是可被接受的。若要充分利用隱含對象,就需了解最新的Java Servlet API。 下表列出可用的隱含對象集合。

隱含對象說(shuō)明

request 客戶(hù)端請求,包括從GET/POST請求傳遞過(guò)來(lái)的參數

response 網(wǎng)頁(yè)傳回客戶(hù)端的反應

pageContext 在此管理網(wǎng)頁(yè)屬性

session 與請求關(guān)聯(lián)的會(huì )話(huà)

application 代碼片段的運行環(huán)境

out 傳送響應的輸出流

config 代碼片段配置對象

page JSP網(wǎng)頁(yè)本身

exception 有錯的網(wǎng)頁(yè)中未被捕獲的例外

這些都是用來(lái)做什么的,你又如何來(lái)使用它們呢?基本上說(shuō),在你的腳本片段里,你可以用它們進(jìn)入執行JSP代碼的代碼片段。用不著(zhù)深入了解太多的Servlet API細節,我們來(lái)看看能用它們來(lái)做到的某些事情: 你可以不用表達式,直接進(jìn)入“Out”隱含對象,將某些內容輸出到響應中:

<% out.println("Hello"); %>。

用不著(zhù)把一個(gè)參數直接送到JavaBean,你可以從請求對象獲取參數值:

<% String name=request.getParameter("name"); out.println(name); %>.

在你用JSP進(jìn)行開(kāi)發(fā)的過(guò)程中,進(jìn)行更多的開(kāi)發(fā)的過(guò)程中,如果創(chuàng )建了JavaBeans或發(fā)現JSP文件中加入了太多的Java源代碼,你就需要創(chuàng )建起支持作用的Java分類(lèi)(class)了,它可以協(xié)助你重復利用源代碼并減少JSP網(wǎng)頁(yè)編譯時(shí)間。當你需要創(chuàng )建Java分類(lèi)文件時(shí),你必須: 將JDSWK installation\bin目錄添加到PATH中。在autoexec.bat文件PATH行的末尾,加入“C:1.2.2/bin”。

用這個(gè)命令將JAR文件復制到“\jre\lib\ext:”目錄中: copy c:\jswdk-1.0.1\lib\servlet.jar

c:\jdk1.2.2\jre\lib\ext.

創(chuàng )建一個(gè)JSP網(wǎng)站

現在該是把所有這些JSP語(yǔ)法派上用場(chǎng)的時(shí)候了。我們將創(chuàng )建一個(gè)網(wǎng)頁(yè),它有一個(gè)輸入表單,可以使用戶(hù)輸入一個(gè)股票代號以獲得出當前股價(jià)(有20分鐘)。如果輸入有誤,則顯示報錯網(wǎng)頁(yè)。

quote.jsp

首先,用 這個(gè)代碼 創(chuàng )建一個(gè)quote.jsp網(wǎng)頁(yè)并將其保存在JSWDK安裝目錄下的網(wǎng)頁(yè)目錄中。大多數的網(wǎng)頁(yè)是標準的HTML,其間散布著(zhù)JSP代碼。第六行是一個(gè)網(wǎng)頁(yè)指示,表示將把所有錯誤發(fā)送到“errorPage.jsp”文中。第13到15行是一個(gè)腳本片段,主要說(shuō)明只有提供“符號”參數才會(huì )顯示表格?!癐f”代碼段在

32到34行結束。第17行定義了要用的JavaBean,第18行從參數加載JavaBean的符號屬性。第27行到29行顯示Bean的屬性。除了"if "代碼段,實(shí)際上并不涉及其它Java代碼。

errorPage.jsp

下一步,將下列JSP源代碼保存到網(wǎng)頁(yè)目錄中的“errorPage.jsp”文件中?!斑@是一個(gè)錯誤網(wǎng)頁(yè)”的提示為第一行,它將isErrorPage網(wǎng)頁(yè)提示屬性設置為真。上一頁(yè)說(shuō)了明錯誤網(wǎng)頁(yè)的位置,本頁(yè)則說(shuō)明這就是錯誤網(wǎng)頁(yè)。其它JSP文件中的JSP專(zhuān)用代碼只有訪(fǎng)問(wèn)隱含例外對象才用到。網(wǎng)頁(yè)只顯示其值:

<%@ page isErrorPage="true" %>
<html>
<head>
<title>Error Page</title>
</head>
<body>
<h1>Our Error Page</h1></font>
<!-- Print Exception -->
We got ourselves an exception:
<%= exception %>
<a href="quote.jsp">Restart</a>
</body>
</html>。
Quotes.java
Quotes JavaBean
利用Yahoo資源來(lái)獲得股票價(jià)格。需要將此 資源保存到JSWDK安裝目錄下“classes\com\jguru”目錄中的“quotes.java”文件中。請在此用JSDK中的Javac編輯器來(lái)編輯它。

你的第一個(gè)JSP網(wǎng)頁(yè)。

創(chuàng )建了這兩個(gè)JSP文件,建立了JavaBean資源文件并編輯了它后,你就可以從http://localhost:8080/quote.jsp加載“quote.jsp”文件以查看結果,假設你沒(méi)有更改JSWDK安裝設置,轉而使用別的端口。這個(gè)網(wǎng)頁(yè)當然能做得更漂亮,但是它已實(shí)現了需要實(shí)現的功能,并且很好地展示了JSP的功能。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
什么是javaBeanJavaBean的作用
Jsp和Servlet的聯(lián)系與區別
JSP中調用JavaBean零接觸
如何迅速成為Java高手[Tomjava原創(chuàng )]
Servlets和JSP開(kāi)發(fā)原則
jsp入門(mén)與三個(gè)小實(shí)例
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久