主頁(yè) > 知識(shí)庫(kù) > JSP開(kāi)發(fā)入門(mén)

JSP開(kāi)發(fā)入門(mén)

熱門(mén)標(biāo)簽:地圖標(biāo)注創(chuàng)業(yè)項(xiàng)目入駐 廣州三五防封電銷(xiāo)卡 外呼系統(tǒng)啥意思 四川電信外呼系統(tǒng)靠譜嗎 地圖標(biāo)注制作道路 山東智能云外呼管理系統(tǒng) 電銷(xiāo)外呼系統(tǒng) 排行榜 珠海銷(xiāo)售外呼系統(tǒng)運(yùn)營(yíng)商 長(zhǎng)春回?fù)芡夂粝到y(tǒng)廠(chǎng)家
JavaServer Pages (JSP) 是一種以 Java為主的跨平臺(tái)web開(kāi)發(fā)語(yǔ)言。  

  JSP與微軟的Active Server Pages 兼容,但它是使用類(lèi)似HTML的卷標(biāo)以及Java程序代碼段而不是VBScript。當(dāng)你所使用的網(wǎng)站服務(wù)器沒(méi)有提供本地ASP支持,也就是Apache或Netscape服務(wù)器時(shí),你可以考慮使用JSP。雖然你可以取得這些服務(wù)器的ASP附加配備模塊,但價(jià)格相當(dāng)昂貴,而目前Sun并沒(méi)有對(duì)你所需要的JSP組件收取費(fèi)用(雖然Sun未來(lái)有可能會(huì)收費(fèi))。對(duì)于Solaris與Linux以及Windows,這些組件也都很容易取得?!?nbsp; 

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

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

一、安裝好你的機(jī)器來(lái)使用JSP  
二、JSP語(yǔ)法的基本原理  
三、JSP與JavaBean  
四、JJSP的內(nèi)部對(duì)象  
五、JSP其他相關(guān)資源  

JSP開(kāi)發(fā)入門(mén)2  
安裝好你的機(jī)器來(lái)使用JSP  

  你將會(huì)需要Java 2軟件開(kāi)發(fā)工具(JSDK),它原來(lái)的名稱(chēng)是Java發(fā)展工具(JDK)以及JavaServer網(wǎng)站發(fā)展工具(JSWDK),Tomcat,或是其它支持JSP的網(wǎng)絡(luò)服務(wù)器。Sun免費(fèi)提供JSDK與JSWDK來(lái)供Windows,Solaris,以及Linux平臺(tái)使用?!?nbsp; 

如果你想要在你目前的網(wǎng)絡(luò)服務(wù)器上使用JSP,但服務(wù)器本身并不支持JSP與Java servlets,你可以試試看Allaire的Jrun,它的作用就像是針對(duì)Netscape企業(yè)版與FastTrack服務(wù)器、微軟的網(wǎng)際網(wǎng)絡(luò)信息服務(wù)器(IIS)與個(gè)人網(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檔案并且重新開(kāi)機(jī)。  

在安裝好JSDK之后,下載并且安裝JSWDK或beta版的Tomcat,以Java為主的Apache網(wǎng)絡(luò)服務(wù)器。安裝在哪里并不重要,重要的是你可以找到它。一般而言,它會(huì)放在上層目錄,這種方式可以讓你取代JSWDK或 JSDK的網(wǎng)絡(luò)服務(wù)器,不需要移動(dòng)其它的網(wǎng)絡(luò)服務(wù)器。在你安裝好這個(gè)檔案之后,你就可以準(zhǔn)備發(fā)展JSP了。  
  在你正確的安裝JSWDK之后,執(zhí)行startserver指令文件來(lái)激活網(wǎng)絡(luò)服務(wù)器,預(yù)設(shè)通訊端口 為 8080。要看你在激活服務(wù)器之后是均C有正確的安裝工具,你可以加載范例JSP檔案中的任何一個(gè)(http://localhost:8080/examples/jsp/)。如果你能夠成功的執(zhí)行一個(gè)范例檔案,你可以知道你已經(jīng)正確的設(shè)定好軟件了。如果你在激活服務(wù)器的控制臺(tái)窗口看到錯(cuò)誤訊息,那么你需要解決這個(gè)問(wèn)題。最常發(fā)生的問(wèn)題是沒(méi)有設(shè)定(或者不正確設(shè)定)環(huán)境變量JAVA.HOME。要檢視目前的環(huán)境設(shè)定,在DOS模式下鍵入set。  


  開(kāi)始  


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

  html>  

  head>  

  title>First Page/title>  

  /head>  

  body>  

  H3>Today is:  

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

  /H3>  

  /body>  

  /html>.  

將這個(gè)檔案與你所有的HTML與JSP網(wǎng)頁(yè)放在你JSWDK安裝目錄下的網(wǎng)頁(yè)目錄里. 你可以在http://localhost:8080/sample.jsp下載此頁(yè).當(dāng)你第一次參觀(guān)這個(gè)網(wǎng)頁(yè)時(shí),網(wǎng)站服務(wù)器會(huì)將JSP翻譯成Java servlet程序代碼,那你就會(huì)看到目前的日期與時(shí)間.  
  現(xiàn)在你已經(jīng)下載,安裝,并且架構(gòu)好發(fā)展環(huán)境,你已經(jīng)準(zhǔn)備好要了解JSP語(yǔ)法與建立你自己的JSP為主的解決之道.  

JSP開(kāi)發(fā)入門(mén)3
  JSP語(yǔ)法的基本原理


安裝之后,接下來(lái)我們要討論JSP的語(yǔ)法.如果要偷懶,你可以下載語(yǔ)法卡而如果你不熟悉 Java的程序設(shè)計(jì),你可能會(huì)想要參考Sun的使用手冊(cè);然而,網(wǎng)站建立者不應(yīng)該做太多的Java發(fā)展。除了幾個(gè)函式呼叫之外,出現(xiàn)在你JSP網(wǎng)頁(yè)上的Java程序代碼應(yīng)該將它減到最少;  
  記住這點(diǎn)之后,現(xiàn)在讓我們先來(lái)看看JSP的編譯器指引與指令組件,之后我們將解釋JavaBeans與內(nèi)部對(duì)象. JSP編譯器指引與指令組件有五種型態(tài).JSP 1.0之后,大部分的JSP是包含在以% 作為開(kāi)始%>作為結(jié)束的單一卷標(biāo)里.新的 JSP 1.1規(guī)格已經(jīng)發(fā)表了,它同時(shí)也與XML兼容.  


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


  編譯器指示       %@ 編譯器指示 %>  

  聲明          %! 聲明 %>  

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

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

  注釋          %-- 注釋 --%>  


  編譯器指示  


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

  你幾乎可以在你所有的JSP網(wǎng)頁(yè)最上面找到page編譯器指示。雖然這不是必須的,但它可以讓你指定到哪里可以找到支持的Java類(lèi)別這類(lèi)的事:  

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

  當(dāng)發(fā)生Java問(wèn)題的事件時(shí)應(yīng)該將訊息傳送到哪里:  

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

  以及你是?需要為使用者管理通話(huà)期的信息,可能存取多個(gè)網(wǎng)頁(yè)(稍后在JavaBeans里會(huì)有更多通話(huà)期的討論):  

  %@ page session="true" %>?!?nbsp; 

 include編譯器指示讓你將你的內(nèi)容分成幾個(gè)可管理的組件,就像那些有表頭或腳注的網(wǎng)頁(yè)。所包含的網(wǎng)頁(yè)可以是固定格式的HTML網(wǎng)頁(yè)或者是JSP內(nèi)容的網(wǎng)頁(yè):  

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


  宣告  


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


  表達(dá)式  


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

  %= i %>  

  %= "Hello" %> 。  


  程序代碼段/小型指令文件  


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

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

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

  % } %>。  


  注釋  


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

  %-- 針對(duì)服務(wù)器端的注釋 --%>。  


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

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

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

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

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

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

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

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

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


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

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


  內(nèi)部對(duì)象說(shuō)明  


  request   客戶(hù)端請(qǐng)求,此請(qǐng)求會(huì)包含來(lái)自GET/POST請(qǐng)求的參數(shù)  

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

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

  session   與請(qǐng)求有關(guān)的會(huì)話(huà)  

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

  out     用來(lái)傳送響應(yīng)的輸出流  

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

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

  exception  針對(duì)錯(cuò)誤網(wǎng)頁(yè),未捕捉的例外  

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

  不必使用表達(dá)式,你可以直接存取內(nèi)部out對(duì)象來(lái)打印一些東西到response:  

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

  不必直接傳送參數(shù)到JavaBean,你可以藉由請(qǐng)求對(duì)象來(lái)取得參數(shù)的值:  

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

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

  將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自定義標(biāo)簽入門(mén)學(xué)習(xí)
  • JSP經(jīng)典學(xué)習(xí)筆記(包含各種入門(mén)常用語(yǔ)法)
  • 通用JSP頁(yè)面 jsp入門(mén)級(jí)文章
  • jsp Hibernate入門(mén)教程
  • JSP迅速入門(mén)
  • 幾則JSP入門(mén)知識(shí)總結(jié)
  • JSP開(kāi)發(fā)入門(mén)(一)--安裝好你的機(jī)器來(lái)使用JSP
  • JSP開(kāi)發(fā)入門(mén)(五)--JSP其他相關(guān)資源
  • JSP開(kāi)發(fā)入門(mén)(四)--JSP的內(nèi)部對(duì)象
  • JSP開(kāi)發(fā)入門(mén)(三)--JSP與JavaBean
  • JSP開(kāi)發(fā)入門(mén)(二)----JSP語(yǔ)法的基本原理
  • JSP入門(mén)之HelloWorld程序?qū)嵗?/li>

標(biāo)簽:保定 玉樹(shù) 廣元 北海 潮州 吳忠 紹興 肇慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP開(kāi)發(fā)入門(mén)》,本文關(guān)鍵詞  JSP,開(kāi)發(fā),入門(mén),JSP,開(kāi)發(fā),入門(mén),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JSP開(kāi)發(fā)入門(mén)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于JSP開(kāi)發(fā)入門(mén)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章