1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現(xiàn)在位置:范文先生網(wǎng)>理工論文>計算機(jī)信息技術(shù)>JSP動態(tài)網(wǎng)頁制作技術(shù)

    JSP動態(tài)網(wǎng)頁制作技術(shù)

    時間:2023-02-21 00:13:58 計算機(jī)信息技術(shù) 我要投稿

    JSP動態(tài)網(wǎng)頁制作技術(shù)

    JavaServer Pages (JSP) 是一種結(jié)合了跨平臺與跨網(wǎng)站服務(wù)器機(jī)制,以 Java為主的技術(shù)來產(chǎn)生動態(tài)網(wǎng)頁。 JSP與微軟的ASPActive Server Pages )相容,但它是使用類似HTML的標(biāo)簽以及Java代碼片段而不是VBScript。當(dāng)你所使用的網(wǎng)站服務(wù)器沒有提供本地ASP支援,也就是ApacheNetscape服務(wù)器時,你可以考慮使用JSP。雖然你可以取得這些服務(wù)器的ASP附加配備程序,但價格相當(dāng)昂貴,而目前Sun并沒有對你所要的JSP組件收取費用(雖然Sun未來有可能會收費)。對於SolarisLinux以及Windows,這些組件也都很容易取得。

    請不要將JSP與服務(wù)器端的JavaScript混為一談。網(wǎng)站服務(wù)器會自動將以JSP寫成的Java代碼片段轉(zhuǎn)換成Java servlets。而許多先前必須以Perl手寫程式或服務(wù)器特定的API(如ASP)控制的功能也都可透過JSP來自動化處理。

    現(xiàn)在就讓我們開始動手幫助你建立一個可執(zhí)行JSP范例網(wǎng)站。

    一、如何安裝好你的機(jī)器來使用JSP

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

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

    1、下載與安裝你需要的組件

    目前發(fā)表的1.2.2-001JSDK可下載的版本是以可安裝的壓縮文檔形式。下載的文件大約是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)境參數(shù)JAVA.HOME設(shè)到JSDK的安裝目錄。如果你是在Windows上安裝并且接受預(yù)設(shè)目錄,將這行代碼set JAVA.HOME=C:\1.2.2加到你的autoexec.bat文件并且重新開機(jī)。

    在安裝好JSDK之後,下載并且安裝JSWD

    Kbeta版的Tomcat,以Java為主的Apache網(wǎng)絡(luò)服務(wù)器。安裝在哪里并不重要,重要的是你可以找到它。一般而言,它會放在上層目錄,這種方式可以讓你取代JSWDK JSDK的網(wǎng)絡(luò)服務(wù)器,不需要移動其他的網(wǎng)絡(luò)服務(wù)器。在你安裝好這個文件之後,你就可以準(zhǔn)備使用JSP了。

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

     

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

     

    <html>

    <head>

    <title>First Page</title>

    </head>

    <body>

    <H3>Today is:

    <%= new java.util.Date() %>

    </H3>

    </body>

    </html>.

     

     

    將這個文件與你所有的HTMLJSP網(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)好環(huán)境,你已經(jīng)準(zhǔn)備好要了解JSP語法與建立你自己的JSP為主的解決之道.

    二、JSP語法的基本原理

    安裝之後,接下來我們要討論JSP的語法.如果要偷懶,你可以下載語法卡,如果你不熟悉 Java的程序設(shè)計,你可能會想要參考Sun的使用手冊;然而,網(wǎng)站建立者不應(yīng)該做太多的Java使用程序,除了幾個函數(shù)式之外,出現(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相容。

    1JSP的編譯器指引與指令元件

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

    預(yù)定義 <%! 預(yù)定義 %>

    運算式 <%= 運算式 %>

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

    注解 <%-- 注解 --%>

    2、編譯器指引

    JSP的編譯器指引是針對JSP引擎。它們并不會直接產(chǎn)生任何看得見的輸出;相反的,它們是在告訴引擎如何處理其他的JSP網(wǎng)頁。它們永遠(yuǎn)包含在 <%@ ?%>標(biāo)簽里。兩個主要的指引是 pageinclude。我們不會討論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" %>

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

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

    <%= i %>

    <%= "Hello" %>

     

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

     

    <% for (int i=1; i<=4; i++) { %>

    <H<%=i%>>Hello</H<%=i%>>

    <% } %>

     

     

    注解.

     

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

     

    <%-- 針對服務(wù)器端的注解 --%>

     

    三、JSPJavaBean

    雖然你可以在小型指令檔里放入一大塊的代碼,但是大多數(shù)的Java代碼是屬於可以重復(fù)使用的元件,稱為JavaBeanJavaBean就跟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.jjj.Person" scope="application" />.

     

    <jsp:useBean>標(biāo)簽需要你以id 屬性來辨識usebean.在這里,你提供一個名稱讓JSP網(wǎng)頁來辨識usebean,除了id 屬性之外,你也必須告訴網(wǎng)頁要到哪里去找這個usebean,或者是它的Java類別名稱。類別屬性提供如何在各式方法之中找到它,最後一個需要的元件是scope 屬性。有了范圍屬性的幫助,你可以告訴usebean,要它為單一網(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名稱(useBeanid欄位),以及你要取得值的特性。接著,真正的值就會放在輸出里:

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

     

     

    要更改

    JavaBean的特性,你需要使用<jsp:setProperty>標(biāo)簽.對這個標(biāo)簽,你也需要辨認(rèn)usebean以及要修正的特性,除此之外,你還需要提供新值。如果命名正確,這些可以直接經(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.1\classes.

     

    四、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有所了解。

    有關(guān)內(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ù)摰教?/font>Servlet API 的細(xì)節(jié),讓我們來檢驗一些你可以利用它們來做的事: 不必使用運算式,你可以直接存取內(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的安裝目錄\bin目錄加到你的PATH。在你的autoexec.bat檔案的PATH行的最後,加入C:\1.2.2\bin;

     

    以下面的指令將JAR檔案復(fù)制到\jre\lib\ext目錄:

    copy c:\jswdk-1.0.1\lib\servlet.jar c:\jdk1.2.2\jre\lib\ext.

     

    五、 建立一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行指示顯示usebean的特性。除了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安裝目錄下classes\com\jguru目錄里的quotes.java檔案。從那里你可以使用JSDK的編譯器來編譯它。 一旦你建好兩個JSP文件,建立了JavaBean原始文件并且編譯好之後,你就可以由http://localhost:8080/quote.jsp載入quote.jsp文件來查看結(jié)果,假設(shè)你沒有更改 JSWDK安裝,使用不同的通訊口> 此網(wǎng)頁可以再加強(qiáng),但它所呈現(xiàn)的功能,是JSP功能的良好示范。

     

    全文結(jié)束

     

    郵編 450008

     

    通訊地址:河南省鄭州市鄭花路29#

    河南金融管理干部學(xué)院計算機(jī)教研室陳學(xué)軍


    【JSP動態(tài)網(wǎng)頁制作技術(shù)】相關(guān)文章:

    動態(tài)網(wǎng)頁制作技術(shù)JSP與ASP的比較08-06

    基于JSP網(wǎng)頁自動生成工具的設(shè)計與實現(xiàn)08-06

    基于JSP網(wǎng)頁自動生成工具的設(shè)計與實現(xiàn)08-06

    網(wǎng)頁的制作08-16

    網(wǎng)頁制作心得11-23

    網(wǎng)頁制作的心得12-15

    網(wǎng)頁設(shè)計制作規(guī)范08-06

    網(wǎng)頁設(shè)計制作規(guī)范08-06

    網(wǎng)頁設(shè)計制作規(guī)范08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      日本精品免费在线视频 | 天天影视综合网色综合国产 | 亚洲欧美日韩精品专区 | 中文字幕免费AV | 日韩激情视频久久 | 亚洲有码Av一区二区三区 |