六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

安裝好你的機器來使用JSP(轉)

[摘要]安裝好你的機器來使用JSP你將會需要Java 2軟件開發工具(JSDK),它原來的名稱是Java發展工具(JDK)以及JavaServer網站發展工具(JSWDK),Tomcat,或是其它支持JSP...
安裝好你的機器來使用JSP
你將會需要Java 2軟件開發工具(JSDK),它原來的名稱是Java發展工具(JDK)以及JavaServer網站發展工具(JSWDK),Tomcat,或是其它支持JSP的網絡服務器。Sun免費提供JSDK與JSWDK來供Windows,Solaris,以及Linux平臺使用。
如果你想要在你目前的網絡服務器上使用JSP,但服務器本身并不支持JSP與Java servlets,你可以試試看Allaire的Jrun,它的作用就像是針對Netscape企業版與FastTrack服務器、微軟的網際網絡信息服務器(IIS)與個人網絡服務器(PWS)、Apache、以及其它服務器的網絡服務器附加設備。你也可以使用Apache網絡服務器的Java版本,最新的JSWDK里有提供。
下載與安裝你需要的組件
目前發表的1.2.2-001,JSDK可下載的版本是以可安裝的壓縮檔形式。下載的檔案大約是20MB,可提供完整的Java發展環境,讓你能建立利用標準API為核心的Java解決之道。然而,你的網絡服務器需要應用到JSP的唯一一件事是Java編譯器。要讓網絡服務器知道編譯器的位置,將環境變量JAVA.HOME設到JSDK的安裝目錄。如果你是在Windows上安裝并且接受預設目錄,將這行程序代碼set JAVA.HOME=C:\1.2.2加到你的autoexec.bat檔案并且重新開機。
在安裝好JSDK之后,下載 并且安裝JSWDK或beta版的Tomcat,以Java為主的Apache網絡服務器。安裝在哪里并不重要,重要的是你可以找到它。一般而言,它會放在上層目錄,這種方式可以讓你取代JSWDK或 JSDK的網絡服務器,不需要移動其它的網絡服務器。在你安裝好這個檔案之后,你就可以準備發展JSP了。
在你正確的安裝JSWDK之后,執行startserver指令文件來激活網絡服務器,預設通訊端口 為 8080。要看你在激活服務器之后是均C有正確的安裝工具,你可以加載范例JSP檔案中的任何一個(http://localhost:8080/examples/jsp/)。如果你能夠成功的執行一個范例檔案,你可以知道你已經正確的設定好軟件了。如果你在激活服務器的控制臺窗口看到錯誤訊息,那么你需要解決這個問題。最常發生的問題是沒有設定(或者不正確設定)環境變量JAVA.HOME。要檢視目前的環境設定,在DOS模式下鍵入set。
開始
解釋JSP語法 之前,先建立一個顯示目前日期與時間的快速網頁并且將它儲存成sample.jsp:
<html>
<head>
<title>First Page</title>
</head>
<body>
<H3>Today is:
<%= new java.util.Date() %>
</H3>
</body>
</html>.
將這個檔案與你所有的HTML與JSP網頁放在你JSWDK安裝目錄下的網頁目錄里. 你可以在http://localhost:8080/sample.jsp下載此頁.當你第一次參觀這個網頁時,網站服務器會將JSP翻譯成Java servlet程序代碼,那你就會看到目前的日期與時間.
現在你已經下載,安裝,并且架構好發展環境,你已經準備好要了解JSP語法與建立你自己的JSP為主的解決之道.

JSP語法的基本原理
安裝之后,接下來我們要討論JSP的語法.如果要偷懶,你可以下載語法卡 而如果你不熟悉 Java的程序設計,你可能會想要參考Sun的使用手冊;然而,網站建立者不應該做太多的Java發展.除了幾個函式呼叫之外,出現在你JSP網頁上的Java程序代碼應該將它減到最少;
記住這點之后,現在讓我們先來看看JSP的編譯器指引與指令組件,之后我們將解釋JavaBeans與內部對象. JSP編譯器指引與指令組件有五種型態.JSP 1.0之后,大部分的JSP是包含在以<% 作為開始%>作為結束的單一卷標里.新的 JSP 1.1規格已經發表了,它同時也與XML兼容.
JSP的編譯器指引與指令組件
編譯器指引 <%@ 編譯器指引 %> 
宣告 <%! 宣告 %> 
表達式 <%= 表達式 %> 
程序代碼片段/小型指令 <% 程序代碼片段 %> 
批注 <%-- 批注 --%> 
編譯器指引
JSP的編譯器指引是針對JSP引擎。它們并不會直接產生任何看得見的輸出;相反的,它們是在告訴引擎如何處理其它的JSP網頁。它們永遠包含在 <%@ ?%>卷標里。兩個主要的指引是 page與include。我們不會討論taglib編譯器指引但它可以在JSP1.1里用來建立自訂卷標。
你幾乎可以在你所有的JSP網頁最上面找到page編譯器指引。雖然這不是必須的,但它可以讓你指定到哪里可以找到支持的Java類別這類的事:
<%@ page import="java.util.Date" %>,
當發生Java問題的事件時應該將訊息傳送到哪里:
<%@ page errorPage="errorPage.jsp" %>,
以及你是?需要為使用者管理通話期的信息,可能存取多個網頁(稍后在JavaBeans里會有更多通話期的討論):
<%@ page session="true" %>。
include編譯器指引讓你將你的內容分成幾個可管理的組件,就像那些有表頭或腳注的網頁。所包含的網頁可以是固定格式的HTML網頁或者是JSP內容的網頁:
<%@ include file="filename.jsp" %>。
宣告
JSP宣告讓你定義網頁層的變量,來儲存信息或定義支持的函式,讓JSP網頁的其余部分能夠使用。如果你發現自己有太多的程序代碼,你最好將它們放在不同的Java類別里。你可以在 <%! ?%>卷標里找到宣告。記住要在變量宣告的后面加上分號,就跟任何有效的Java敘述的形式一樣: <%! int i=0; %>。
表達式
JSP里有表達式,評估表達式的結果可以轉換成字符串并且直接使用在輸出網頁上。JSP運算是屬于 <%= ?%> 卷標里,并不包含分號,加引號字符串的無用部分。
<%= i %>
<%= "Hello" %> 。
程序代碼片段/小型指令文件
JSP程序代碼片段或小型指令文件是包含在<% ?%> 卷標里。當網絡服務器接受這段請求時,這段Java程序代碼會執行。小型指令文件可以是原始的HTML或XML,其內部的程序代碼片段可以讓你建立有條件的執行程序代碼,或者只是一些使用另一塊程序代碼的東西。舉例來說,下列的程序代碼結合了表達式與小型指令文件,在H1,H2,H3,以及H4卷標里顯示字符串"Hello"。小型指令文件不限于一行的原始程序代碼 :
<% for (int i=1; i<=4; i++) { %>
<H<%=i%>>Hello</H<%=i%>>
<% } %>。
批注
最后一個主要JSP組件是嵌入式批注。雖然你可以在你的檔案里包含HTML批注,如果使用者檢視網頁的原始碼,他們也會看到這些批注。如果你不要讓使用者看到你的批注,你可以將它放在<%-- ?--%>卷標里:
<%-- 針對伺服端的批注 --%>。
JSP與JavaBean
雖然你可以在小型指令文件里放入一大塊的程序代碼,但是大多數的Java程序代碼是屬于可以重復使用的組件,稱為JavaBean。JavaBean就跟ActiveX控件一樣:它們提供已知的功能,并且是為了可隨時重復使用的目的而設計的。
JavaBean的價值在于它可以經由一組特性來使用,而這些特性則提供對JavaBean設定的存取。以人來作范例,此人就是JavaBean,而他的姓名,社會福利安全號碼,以及住址可以是特性。對于JSP網站,基本上你是將'JavaBean'動態的連接到你的網站。
假設JavaBean是在建立網站之前建好的,你要做的第一件事是告訴JSP網頁它所需要使用JavaBean.這工作可以用<jsp:useBean>卷標來完成:
<jsp:useBean id="localName" class="com.jguru.Person" scope="application" />.
<jsp:useBean>卷標需要你以id 屬性來辨識豆子.在這里,你提供一個名稱讓JSP網頁來辨識豆子,除了id 屬性之外,你也必須告訴網頁要到哪里去找這個豆子,或者是它的Java類別名稱。類別屬性提供如何在各式方法之中找到它,最后一個需要的組件是scope 屬性.有了范圍屬性的幫助,你可以告訴豆子,要它為單一網頁(預設)[scope="page"];為一個被請求的網頁[scope="request"];為通話期[scope="session"];或為整個應用程序[scope="application"]來維護它自己的信息.對于通話期范圍,你可以很容易的維護JSP網頁里的項目,例如購物車。
一但你宣告了JavaBean之后,你就可以存取它的特性來訂定它。要取得一特性的值,使用<jsp:getProperty>卷標。有了<jsp:getProperty>卷標,你可以指定要使用的豆子名稱(從useBean的id字段),以及你要取得值的特性。接著,真正的值就會放在輸出里:
<jsp:getProperty id="localName" property="name" />.
要更改JavaBean的特性,你需要使用<jsp:setProperty>卷標.對這個卷標,你也需要辨認豆子以及要修正的特性,除此之外,你還需要提供新值.如果命名正確,這些可以直接經由規定的格式取得:
<jsp:setProperty id="localName" property="*" />;
要從一參數取得,你必須直接命名此特性以及參數:
<jsp:setProperty id="localName" property="address" param="parameterName" />;
或是直接以名稱與值來設定:
<jsp:setProperty id="localName" property="serialNumber" value="string" /> or <jsp:setProperty id="localName" property="serialNumber" value= <%= expression %> />.
有關JavaBean的最后一點:要讓網絡服務器可以找到JavaBean,你需要將它們的類別檔案放在特別位置。對JSWDK而言,最簡單的地方是在安裝目錄里的類別目錄,例如 \jswdk-1.0.1\classes.
JSP的內部對象
最后一個與JSP語法有關的組件叫做內部對象.在JSP小型指令文件內,你可以存取這些內部對象來與執行JSP網頁的servlet環境相互作用。許多對內部對象的存取應該要簡化。然而,這些是范例,它們的存取都是可接受的,要完整的利用內部對象設定則需要對最新的Java Servlet API有所了解。
下表列出你可以使用的內部對象。
內部對象說明
request 客戶端請求,此請求會包含來自GET/POST請求的參數 
response 網頁傳回客戶端的響應 
pageContext 網頁的屬性是在這里管理 
session 與請求有關的通話期 
application servlet正在執行的內容 
out 用來傳送響應的輸出資料流 
config servlet的架構對象 
page JSP網頁本身 
exception 針對錯誤網頁,未捕捉的例外 
那么,這些是做什么的,而你應該如何使用它們呢?基本上,在你的小型指令文件里,你可以使用它們來存取執行JSP程序代碼的servlet。為了避免談論到太多Servlet API 的細節,讓我們來檢視一些你可以利用它們來做的事:
不必使用表達式,你可以直接存取內部out對象來打印一些東西到response:
<% out.println("Hello"); %>.
不必直接傳送參數到JavaBean,你可以藉由請求對象來取得參數的值:
<% String name=request.getParameter("name"); out.println(name); %>。
當你以JSP寫了許多的應用程序之后,如果你建立了JavaBeans或者發現你自己將太多的Java原始碼放入你的JSP檔案,你需要建立支持的Java類別,這樣可以鼓勵重復使用并且降低JSP網頁轉換時所需要的時間。當你需要建立Java類別時,你必須:
將JDSWK的安裝目錄\bin目錄加到你的PATH。在你的autoexec.bat檔案的PATH行的最后,加入C:\1.2.2\bin; 。
以下面的指令將JAR檔案復制到\jre\lib\ext目錄:
copy c:\jswdk-1.0.1\lib\servlet.jar c:\jdk1.2.2\jre\lib\ext.
建立一JSP網站
現在到了將所有的JSP語法放在一起使用的時候了。我們將會建立一個具有輸入格式的網站,讓使用者來輸入股票代號并且獲得目前股票的價格(大約延遲20分鐘)。如果有錯誤,則錯誤網頁會顯示。
quote.jsp
首先,以這段程序代碼建立quote.jsp并且將它儲存在JSWDK安裝目錄的網頁目錄里。網頁的大部分內容是標準的HTML格式,而JSP程序代碼分散各處。第6行是網頁編輯器指引,指示將任何錯誤傳送到errorPage.jsp檔案。第13行到15行是小型指示碼,基本上是說只有當"symbol"參數存在時才顯示表格。這個if區段包含了第32行到34行的程序代碼。第17行定義要使用的 JavaBean,而第18行從參數加載它的符號特性。第27行到29行指示顯示豆子的特性。除了if區段之外,并沒有其它的Java程序代碼。
errorPage.jsp
接著,將下列的JSP原始碼儲存到網頁目錄下的檔案errorPage.jsp.這是一個錯誤網頁的暗示是在第一行,此行將網頁編譯器指引isErrorPage屬性設為真。雖然前一頁說明了錯誤網頁在哪里,這頁是說它是一個錯誤網頁。JSP檔案里其它特定的JSP程序代碼是對內部例外對象的存取。此頁只是顯示它的值而已:
<%@ 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>.
<span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size:12.0pt; font-family:"Times New Roman";mso-fareast-font-family:宋體;mso-font-kerning:1.0pt; mso-ansi-language:EN-US;mso-fareast-lang



主站蜘蛛池模板: 日本gogo亚洲高清大胆 | 天堂资源在线最新版 | 四虎免费在线 | 天堂福利在线 | 性生大片免费观看性 | 亚洲图片色 | 天天拍拍夜夜出水 | 中文精品久久久久国产不卡 | 婷婷九月色 | 青春草影院| 中文字幕视频一区二区 | 午夜影院在线免费观看 | 天天射天 | 中文字幕在线乱码免费毛片 | 色网在线观看 | 伊伊人成亚洲综合人网香 | 午夜激情影视 | 青草全福视在线 | 啪啪动漫| 欧美视频一区在线 | 最新四虎4hu影库地址在线 | 欧美一级性视频 | 中文字幕精品波多野结衣 | 亚洲精品中文字幕乱码 | 伊人免费网 | 亚洲免费网址 | 微草影院| 天天干天天操天天爱 | 午夜性影院爽爽爽爽爽爽 | 在线日韩不卡 | 亚洲婷婷在线 | 日韩第二页| 日本精品一区 | 天天草狠狠干 | 日本中文字幕乱码免费 | 天堂在线网 | 欧美亚洲国产精品久久 | 亚洲精品在线第一页 | 亚洲欧美一区二区三区不卡 | 亚洲免费视频在线 | 青草免费免费观看视频在线 |