国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

安裝好你的機器來使用JSP
2007-09-26   網(wǎng)絡(luò)

安裝好你的機器來使用JSP
你將會需要Java 2軟件開發(fā)工具(JSDK),它原來的名稱是Java發(fā)展工具(JDK)以及JavaServer網(wǎng)站發(fā)展工具(JSWDK),Tomcat,或是其它支持JSP的網(wǎng)絡(luò)服務(wù)器。Sun免費提供JSDK與JSWDK來供Windows,Solaris,以及Linux平臺使用。

如果你想要在你目前的網(wǎng)絡(luò)服務(wù)器上使用JSP,但服務(wù)器本身并不支持JSP與Java servlets,你可以試試看Allaire的Jrun,它的作用就像是針對Netscape企業(yè)版與FastTrack服務(wù)器、微軟的網(wǎng)際網(wǎng)絡(luò)信息服務(wù)器(IIS)與個人網(wǎng)絡(luò)服務(wù)器(PWS)、Apache、以及其它服務(wù)器的網(wǎng)絡(luò)服務(wù)器附加設(shè)備。你也可以使用Apache網(wǎng)絡(luò)服務(wù)器的Java版本,最新的JSWDK里有提供。

下載與安裝你需要的組件
目前發(fā)表的1.2.2-001,JSDK可下載的版本是以可安裝的壓縮檔形式。下載的檔案大約是20MB,可提供完整的Java發(fā)展環(huán)境,讓你能建立利用標(biāo)準(zhǔn)API為核心的Java解決之道。然而,你的網(wǎng)絡(luò)服務(wù)器需要應(yīng)用到JSP的唯一一件事是Java編譯器。要讓網(wǎng)絡(luò)服務(wù)器知道編譯器的位置,將環(huán)境變量JAVA.HOME設(shè)到JSDK的安裝目錄。如果你是在Windows上安裝并且接受預(yù)設(shè)目錄,將這行程序代碼set JAVA.HOME=C:1.2.2加到你的autoexec.bat檔案并且重新開機。

在安裝好JSDK之后,下載 并且安裝JSWDK或beta版的Tomcat,以Java為主的Apache網(wǎng)絡(luò)服務(wù)器。安裝在哪里并不重要,重要的是你可以找到它。一般而言,它會放在上層目錄,這種方式可以讓你取代JSWDK或 JSDK的網(wǎng)絡(luò)服務(wù)器,不需要移動其它的網(wǎng)絡(luò)服務(wù)器。在你安裝好這個檔案之后,你就可以準(zhǔn)備發(fā)展JSP了。

在你正確的安裝JSWDK之后,執(zhí)行startserver指令文件來激活網(wǎng)絡(luò)服務(wù)器,預(yù)設(shè)通訊端口 為 8080。要看你在激活服務(wù)器之后是均C有正確的安裝工具,你可以加載范例JSP檔案中的任何一個(http://localhost:8080/examples/jsp/)。如果你能夠成功的執(zhí)行一個范例檔案,你可以知道你已經(jīng)正確的設(shè)定好軟件了。如果你在激活服務(wù)器的控制臺窗口看到錯誤訊息,那么你需要解決這個問題。最常發(fā)生的問題是沒有設(shè)定(或者不正確設(shè)定)環(huán)境變量JAVA.HOME。要檢視目前的環(huán)境設(shè)定,在DOS模式下鍵入set。

開始
解釋JSP語法 之前,先建立一個顯示目前日期與時間的快速網(wǎng)頁并且將它儲存成sample.jsp:

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

將這個檔案與你所有的HTML與JSP網(wǎng)頁放在你JSWDK安裝目錄下的網(wǎng)頁目錄里. 你可以在http://localhost:8080/sample.jsp下載此頁.當(dāng)你第一次參觀這個網(wǎng)頁時,網(wǎng)站服務(wù)器會將JSP翻譯成Java servlet程序代碼,那你就會看到目前的日期與時間.

現(xiàn)在你已經(jīng)下載,安裝,并且架構(gòu)好發(fā)展環(huán)境,你已經(jīng)準(zhǔn)備好要了解JSP語法與建立你自己的JSP為主的解決之道.

JSP語法的基本原理
安裝之后,接下來我們要討論JSP的語法.如果要偷懶,你可以下載語法卡 而如果你不熟悉 Java的程序設(shè)計,你可能會想要參考Sun的使用手冊;然而,網(wǎng)站建立者不應(yīng)該做太多的Java發(fā)展.除了幾個函式呼叫之外,出現(xiàn)在你JSP網(wǎng)頁上的Java程序代碼應(yīng)該將它減到最少;

記住這點之后,現(xiàn)在讓我們先來看看JSP的編譯器指引與指令組件,之后我們將解釋JavaBeans與內(nèi)部對象. JSP編譯器指引與指令組件有五種型態(tài).JSP 1.0之后,大部分的JSP是包含在以<% 作為開始%>作為結(jié)束的單一卷標(biāo)里.新的 JSP 1.1規(guī)格已經(jīng)發(fā)表了,它同時也與XML兼容.

JSP的編譯器指引與指令組件

編譯器指引
<%@ 編譯器指引 %>


宣告
<%! 宣告 %>


表達(dá)式
<%= 表達(dá)式 %>


程序代碼片段/小型指令
<% 程序代碼片段 %>


批注
<%-- 批注 --%>



編譯器指引
JSP的編譯器指引是針對JSP引擎。它們并不會直接產(chǎn)生任何看得見的輸出;相反的,它們是在告訴引擎如何處理其它的JSP網(wǎng)頁。它們永遠(yuǎn)包含在 <%@ ?%>卷標(biāo)里。兩個主要的指引是 page與include。我們不會討論taglib編譯器指引但它可以在JSP1.1里用來建立自訂卷標(biāo)。

你幾乎可以在你所有的JSP網(wǎng)頁最上面找到page編譯器指引。雖然這不是必須的,但它可以讓你指定到哪里可以找到支持的Java類別這類的事:
<%@ page import="java.util.Date" %>,

當(dāng)發(fā)生Java問題的事件時應(yīng)該將訊息傳送到哪里:
<%@ page errorPage="errorPage.jsp" %>,

以及你是?需要為使用者管理通話期的信息,可能存取多個網(wǎng)頁(稍后在JavaBeans里會有更多通話期的討論):
<%@ page session="true" %>。

include編譯器指引讓你將你的內(nèi)容分成幾個可管理的組件,就像那些有表頭或腳注的網(wǎng)頁。所包含的網(wǎng)頁可以是固定格式的HTML網(wǎng)頁或者是JSP內(nèi)容的網(wǎng)頁:
<%@ include file="filename.jsp" %>。

宣告
JSP宣告讓你定義網(wǎng)頁層的變量,來儲存信息或定義支持的函式,讓JSP網(wǎng)頁的其余部分能夠使用。如果你發(fā)現(xiàn)自己有太多的程序代碼,你最好將它們放在不同的Java類別里。你可以在 <%! ?%>卷標(biāo)里找到宣告。記住要在變量宣告的后面加上分號,就跟任何有效的Java敘述的形式一樣: <%! int i=0; %>。

表達(dá)式
JSP里有表達(dá)式,評估表達(dá)式的結(jié)果可以轉(zhuǎn)換成字符串并且直接使用在輸出網(wǎng)頁上。JSP運算是屬于 <%= ?%> 卷標(biāo)里,并不包含分號,加引號字符串的無用部分。

<%= i %>
<%= "Hello" %> 。

程序代碼片段/小型指令文件
JSP程序代碼片段或小型指令文件是包含在<% ?%> 卷標(biāo)里。當(dāng)網(wǎng)絡(luò)服務(wù)器接受這段請求時,這段Java程序代碼會執(zhí)行。小型指令文件可以是原始的HTML或XML,其內(nèi)部的程序代碼片段可以讓你建立有條件的執(zhí)行程序代碼,或者只是一些使用另一塊程序代碼的東西。舉例來說,下列的程序代碼結(jié)合了表達(dá)式與小型指令文件,在H1,H2,H3,以及H4卷標(biāo)里顯示字符串"Hello"。小型指令文件不限于一行的原始程序代碼 :

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

批注
最后一個主要JSP組件是嵌入式批注。雖然你可以在你的檔案里包含HTML批注,如果使用者檢視網(wǎng)頁的原始碼,他們也會看到這些批注。如果你不要讓使用者看到你的批注,你可以將它放在<%-- ?--%>卷標(biāo)里:

<%-- 針對伺服端的批注 --%>。


JSP與JavaBean
雖然你可以在小型指令文件里放入一大塊的程序代碼,但是大多數(shù)的Java程序代碼是屬于可以重復(fù)使用的組件,稱為JavaBean。JavaBean就跟ActiveX控件一樣:它們提供已知的功能,并且是為了可隨時重復(fù)使用的目的而設(shè)計的。

JavaBean的價值在于它可以經(jīng)由一組特性來使用,而這些特性則提供對JavaBean設(shè)定的存取。以人來作范例,此人就是JavaBean,而他的姓名,社會福利安全號碼,以及住址可以是特性。對于JSP網(wǎng)站,基本上你是將'JavaBean'動態(tài)的連接到你的網(wǎng)站。

假設(shè)JavaBean是在建立網(wǎng)站之前建好的,你要做的第一件事是告訴JSP網(wǎng)頁它所需要使用JavaBean.這工作可以用<jsp:useBean>卷標(biāo)來完成:
<jsp:useBean id="localName" class="com.jguru.Person" scope="application" />.

<jsp:useBean>卷標(biāo)需要你以id 屬性來辨識豆子.在這里,你提供一個名稱讓JSP網(wǎng)頁來辨識豆子,除了id 屬性之外,你也必須告訴網(wǎng)頁要到哪里去找這個豆子,或者是它的Java類別名稱。類別屬性提供如何在各式方法之中找到它,最后一個需要的組件是scope 屬性.有了范圍屬性的幫助,你可以告訴豆子,要它為單一網(wǎng)頁(預(yù)設(shè))[scope="page"];為一個被請求的網(wǎng)頁[scope="request"];為通話期[scope="session"];或為整個應(yīng)用程序[scope="application"]來維護(hù)它自己的信息.對于通話期范圍,你可以很容易的維護(hù)JSP網(wǎng)頁里的項目,例如購物車。

一但你宣告了JavaBean之后,你就可以存取它的特性來訂定它。要取得一特性的值,使用<jsp:getProperty>卷標(biāo)。有了<jsp:getProperty>卷標(biāo),你可以指定要使用的豆子名稱(從useBean的id字段),以及你要取得值的特性。接著,真正的值就會放在輸出里:
<jsp:getProperty id="localName" property="name" />.

要更改JavaBean的特性,你需要使用<jsp:setProperty>卷標(biāo).對這個卷標(biāo),你也需要辨認(rèn)豆子以及要修正的特性,除此之外,你還需要提供新值.如果命名正確,這些可以直接經(jīng)由規(guī)定的格式取得:
<jsp:setProperty id="localName" property="*" />;

要從一參數(shù)取得,你必須直接命名此特性以及參數(shù):
<jsp:setProperty id="localName" property="address" param="parameterName" />;

或是直接以名稱與值來設(shè)定:
<jsp:setProperty id="localName" property="serialNumber" value="string" /> or <jsp:setProperty id="localName" property="serialNumber" value= <%= expression %> />.

有關(guān)JavaBean的最后一點:要讓網(wǎng)絡(luò)服務(wù)器可以找到JavaBean,你需要將它們的類別檔案放在特別位置。對JSWDK而言,最簡單的地方是在安裝目錄里的類別目錄,例如 jswdk-1.0.1classes.










JSP的內(nèi)部對象
最后一個與JSP語法有關(guān)的組件叫做內(nèi)部對象.在JSP小型指令文件內(nèi),你可以存取這些內(nèi)部對象來與執(zhí)行JSP網(wǎng)頁的servlet環(huán)境相互作用。許多對內(nèi)部對象的存取應(yīng)該要簡化。然而,這些是范例,它們的存取都是可接受的,要完整的利用內(nèi)部對象設(shè)定則需要對最新的Java Servlet API有所了解。

下表列出你可以使用的內(nèi)部對象。



內(nèi)部對象說明

request
客戶端請求,此請求會包含來自GET/POST請求的參數(shù)


response
網(wǎng)頁傳回客戶端的響應(yīng)


pageContext
網(wǎng)頁的屬性是在這里管理


session
與請求有關(guān)的通話期


application
servlet正在執(zhí)行的內(nèi)容


out
用來傳送響應(yīng)的輸出資料流


config
servlet的架構(gòu)對象


page
JSP網(wǎng)頁本身


exception
針對錯誤網(wǎng)頁,未捕捉的例外



那么,這些是做什么的,而你應(yīng)該如何使用它們呢?基本上,在你的小型指令文件里,你可以使用它們來存取執(zhí)行JSP程序代碼的servlet。為了避免談?wù)摰教郤ervlet API 的細(xì)節(jié),讓我們來檢視一些你可以利用它們來做的事:

不必使用表達(dá)式,你可以直接存取內(nèi)部out對象來打印一些東西到response:
<% out.println("Hello"); %>.

不必直接傳送參數(shù)到JavaBean,你可以藉由請求對象來取得參數(shù)的值:
<% String name=request.getParameter("name"); out.println(name); %>。

當(dāng)你以JSP寫了許多的應(yīng)用程序之后,如果你建立了JavaBeans或者發(fā)現(xiàn)你自己將太多的Java原始碼放入你的JSP檔案,你需要建立支持的Java類別,這樣可以鼓勵重復(fù)使用并且降低JSP網(wǎng)頁轉(zhuǎn)換時所需要的時間。當(dāng)你需要建立Java類別時,你必須:

將JDSWK的安裝目錄in目錄加到你的PATH。在你的autoexec.bat檔案的PATH行的最后,加入C:1.2.2in; 。

以下面的指令將JAR檔案復(fù)制到j(luò)relibext目錄:
copy c:jswdk-1.0.1libservlet.jar c:jdk1.2.2jrelibext.





建立一JSP網(wǎng)站
現(xiàn)在到了將所有的JSP語法放在一起使用的時候了。我們將會建立一個具有輸入格式的網(wǎng)站,讓使用者來輸入股票代號并且獲得目前股票的價格(大約延遲20分鐘)。如果有錯誤,則錯誤網(wǎng)頁會顯示。

quote.jsp
首先,以這段程序代碼建立quote.jsp并且將它儲存在JSWDK安裝目錄的網(wǎng)頁目錄里。網(wǎng)頁的大部分內(nèi)容是標(biāo)準(zhǔn)的HTML格式,而JSP程序代碼分散各處。第6行是網(wǎng)頁編輯器指引,指示將任何錯誤傳送到errorPage.jsp檔案。第13行到15行是小型指示碼,基本上是說只有當(dāng)"symbol"參數(shù)存在時才顯示表格。這個if區(qū)段包含了第32行到34行的程序代碼。第17行定義要使用的 JavaBean,而第18行從參數(shù)加載它的符號特性。第27行到29行指示顯示豆子的特性。除了if區(qū)段之外,并沒有其它的Java程序代碼。

errorPage.jsp
接著,將下列的JSP原始碼儲存到網(wǎng)頁目錄下的檔案errorPage.jsp.這是一個錯誤網(wǎng)頁的暗示是在第一行,此行將網(wǎng)頁編譯器指引isErrorPage屬性設(shè)為真。雖然前一頁說明了錯誤網(wǎng)頁在哪里,這頁是說它是一個錯誤網(wǎng)頁。JSP檔案里其它特定的JSP程序代碼是對內(nèi)部例外對象的存取。此頁只是顯示它的值而已:

<%@ 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使用雅虎的資源來取得股票的價格。其原始碼需要儲存于 JSWDK安裝目錄下classescomjguru目錄里的quotes.java檔案。從那里,
你可以使用JSDK的編譯器來編譯它。 一旦你建好兩個JSP檔案,建立了JavaBean原始檔并且編譯好之后,你就可以由http://localhost:8080/quote.jsp加載quote.jsp檔案來查看結(jié)果,假設(shè)你沒有更改 JSWDK安裝,使用不同的通訊端口> 此網(wǎng)頁可以再加強,但它所呈現(xiàn)的功能,是JSP功能的良好示范。

熱詞搜索:

上一篇:什么是JSP
下一篇:JSP 應(yīng)用范例

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
亚洲免费成人| 欧美在线一二三四区| 欧美一级免费视频| 欧美午夜久久| 亚洲一区二区在线观看视频| 国产精品美女999| 欧美成人免费小视频| 亚洲国产欧美在线| 久久久久久久性| 韩国一区二区三区在线观看| 久久久久久久成人| 亚洲激情亚洲| 国产精品系列在线播放| 久久久久久久久蜜桃| 亚洲精品亚洲人成人网| 久久激情视频久久| 尤物精品在线| 麻豆视频一区二区| 亚洲免费中文字幕| 亚洲激情图片小说视频| 欧美日韩国产免费观看| 久久国产福利国产秒拍| 亚洲午夜91| av成人毛片| 在线欧美亚洲| 1000部国产精品成人观看| 国产九九精品视频| 欧美日本国产| 欧美日韩高清不卡| 农夫在线精品视频免费观看| 久久成人国产精品| 亚洲一区二区三区免费在线观看| 亚洲人成毛片在线播放| 狠狠色2019综合网| 国产亚洲观看| 国产综合色在线视频区| 国产综合色产在线精品| 国产精品家教| 国产精品永久免费视频| 国产精品一二三| 黄色成人片子| 欧美手机在线| 国产尤物精品| 在线国产精品播放| 91久久久久久久久| 99精品欧美一区二区三区综合在线| 国产九九视频一区二区三区| 国产精自产拍久久久久久蜜| 国产亚洲欧美激情| 性欧美1819性猛交| 国产精品青草久久| 国产精品每日更新在线播放网址| 国产一区二区精品| 在线视频一区观看| 欧美人成在线视频| 在线播放亚洲一区| 美日韩精品视频免费看| 国产一区二区久久久| 亚洲影院在线观看| 欧美午夜精品| 99人久久精品视频最新地址| 久久久久这里只有精品| 国产亚洲欧美一区| 亚洲男人的天堂在线aⅴ视频| 欧美日韩一区免费| 99精品国产在热久久婷婷| 欧美午夜精品久久久久久超碰| 国产亚洲精品久久久久动| 久久九九99| 国产精品萝li| 蜜桃久久av一区| 日韩一二三区视频| 国产精品一区免费在线观看| 久久九九热免费视频| 亚洲国产一二三| 欧美jizz19hd性欧美| 日韩视频不卡| 蜜臀久久99精品久久久久久9 | 免费亚洲一区二区| 国产伦精品一区二区三区| 老司机精品视频一区二区三区| 久久国产精彩视频| 欧美日本在线播放| 韩国一区电影| 欧美在线高清| 能在线观看的日韩av| 国产亚洲精品aa午夜观看| 国产亚洲一区在线| 久久久久久久一区二区| 美女久久一区| 国产精品免费观看在线| 黄色亚洲免费| 午夜精品免费在线| 亚洲欧美文学| 亚洲国产精品久久久久婷婷884| 9l国产精品久久久久麻豆| 久久免费精品视频| 国模精品娜娜一二三区| 欧美中文字幕第一页| 国产亚洲精品资源在线26u| 亚洲午夜久久久久久久久电影院| 永久免费毛片在线播放不卡| 亚洲主播在线| 欧美视频在线观看一区二区| 亚洲毛片一区| 欧美在线观看一区二区三区| 国产视频久久| 亚洲综合首页| 美女日韩在线中文字幕| 在线看国产一区| 欧美色欧美亚洲高清在线视频| 亚洲视频狠狠| 狠狠v欧美v日韩v亚洲ⅴ| 99ri日韩精品视频| 国产精品专区第二| 欧美一区二视频| 亚洲日本成人| 国产欧美一级| 欧美日韩国产一区| 久久激情五月丁香伊人| 亚洲成人在线| 国产精品一区二区久激情瑜伽| 久久久精品国产免费观看同学| 国产精品日韩在线| 欧美精品v日韩精品v韩国精品v| 亚洲欧美日韩精品一区二区| 亚洲国产日韩美| 亚洲国产精品日韩| 国产视频精品网| 国产精品初高中精品久久| 久久黄金**| 亚洲国产影院| 最新亚洲一区| 经典三级久久| 欧美日韩一区二区在线视频| 欧美另类久久久品| 久热国产精品| 欧美国产日韩二区| 久久久久免费| 久久久一区二区| 午夜精品理论片| 亚洲午夜精品久久久久久浪潮| 亚洲伦理在线免费看| 在线视频国内自拍亚洲视频| 国产女优一区| 国产目拍亚洲精品99久久精品| 麻豆乱码国产一区二区三区| 亚洲在线视频观看| 亚洲男人av电影| 亚洲一区二区四区| 亚洲在线一区| 久久精视频免费在线久久完整在线看| 新67194成人永久网站| 午夜久久久久久久久久一区二区| 亚洲天堂av图片| 午夜视频在线观看一区二区| 久久久国际精品| 欧美成人国产| 红桃av永久久久| 亚洲永久网站| 国产精品久久久久久久久动漫| 激情五月综合色婷婷一区二区| 亚洲日本欧美在线| 免费在线看成人av| 尤物网精品视频| 久久国产婷婷国产香蕉| 国产精品福利网站| 亚洲人成免费| 欧美va天堂在线| 在线日韩欧美| 亚洲专区一区| 欧美视频中文字幕在线| 亚洲小说春色综合另类电影| 久久久久久久久久久久久9999 | 欧美xx69| 激情综合色综合久久| 99精品久久久| 国产精品入口麻豆原神| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲线精品一区二区三区八戒| 欧美国产日韩一区二区| 91久久精品国产91性色tv| 久久女同互慰一区二区三区| 日韩一二在线观看| 海角社区69精品视频| 欧美日韩在线播放一区| 久久久久久高潮国产精品视| 欧美一区二区三区在| av成人国产| 国产精品美女诱惑| 国产精品久久99| 国产伦精品一区二区三区免费迷| 国产精品免费一区二区三区在线观看| 国产精品久久久久9999| 国产精品免费小视频| 国语自产精品视频在线看一大j8| 韩国自拍一区| 亚洲精品视频中文字幕| 日韩一级成人av| 欧美怡红院视频一区二区三区|