亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

菜鳥入門JSP基礎教程

2024-09-05 00:18:18
字體:
來源:轉載
供稿:網友

  JSP是一種支持動圖內容開發的網頁技術,開發人員可以利用特殊的JSP標簽作為結束標志插入java代碼到HTML的頁面,除此之外JSP標簽還可用于各種目的,因此學會JSP是很有必要的一件事,現在就一起來學習一下菜鳥入門JSP基礎教程吧。

  JavaServer Pages (JSP) 是一種以 Java為主的跨平臺web開發語言。??

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

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

  現在就讓我們開始動手幫助你建立一個可執行JSP范例網站。??

一、安裝好你的機器來使用JSP??
二、JSP語法的基本原理??
三、JSP與JavaBean??
四、JJSP的內部對象??
五、JSP其他相關資源??

  JSP開發入門2??
  安裝好你的機器來使用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開發入門3
  ?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開發入門4???
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.1classes.??

  JSP開發入門5???
  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的安裝目錄in目錄加到你的PATH。在你的autoexec.bat檔案的PATH行的最后,加入C:1.2.2in; 。??


  以下面的指令將JAR檔案復制到jrelibext目錄:??


  copy c:jswdk-1.0.1libservlet.jar c:jdk1.2.2jrelibext.??

  上文是關于菜鳥入門JSP基礎教程,相信大家都有了一定的了解,想要了解更多的技術信息,請繼續關注錯新技術頻道吧!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品欧美久久久| 97视频国产在线| 伊人久久免费视频| 91久久久久久久久| 91精品国产91久久| 国产精品一二三视频| 成人免费看吃奶视频网站| 国产精品自产拍高潮在线观看| 国产精品久久久久久一区二区| 日韩中文av在线| 成人黄色大片在线免费观看| 久久久久久久999精品视频| 日韩视频在线观看免费| 久久国产精品视频| 日韩精品视频中文在线观看| 亚洲黄页视频免费观看| 国产日产欧美精品| 91视频国产精品| 成人美女av在线直播| 日本一区二区在线免费播放| 欧美一级视频一区二区| 国产成人精彩在线视频九色| 日韩精品中文字幕久久臀| 日韩欧美有码在线| 欧美天堂在线观看| 精品久久香蕉国产线看观看亚洲| 国产精品亚洲一区二区三区| 精品国产美女在线| 欧美国产日韩一区二区在线观看| 亚洲天堂av在线播放| 成人免费大片黄在线播放| 亚洲精品乱码久久久久久按摩观| 国产91九色视频| 欧美激情二区三区| 久久人人爽人人爽爽久久| 中文.日本.精品| 97人洗澡人人免费公开视频碰碰碰| 国产成人精彩在线视频九色| 欧美老女人性视频| 亚洲午夜激情免费视频| 成人久久久久久| 亚洲精品狠狠操| 成人黄色免费在线观看| 久久躁狠狠躁夜夜爽| 亚洲国产精品专区久久| 成人黄色av播放免费| 免费97视频在线精品国自产拍| 成人免费看黄网站| 欧美成人在线免费| 色综合视频一区中文字幕| 欧美精品xxx| 国产在线视频一区| 91在线网站视频| 亚洲国产精品高清久久久| 日韩人体视频一二区| 欧美高清一级大片| 久久这里只有精品99| 久久99热这里只有精品国产| 国产精品三级美女白浆呻吟| 国产精品三级在线| 亚洲伊人久久大香线蕉av| 欧美重口另类videos人妖| 欧美精品午夜视频| 国产欧美va欧美va香蕉在线| 亚洲国模精品一区| 国产精品一香蕉国产线看观看| 亚洲欧美日韩中文视频| 成人www视频在线观看| 久久精品成人动漫| 欧美日韩亚洲精品一区二区三区| 国产日韩在线亚洲字幕中文| 成人国产精品久久久| 在线播放国产精品| 精品视频www| 亚洲天堂免费观看| 成人精品视频在线| 亚洲欧洲成视频免费观看| 国产精品96久久久久久| 亚洲国产精品高清久久久| 日本亚洲欧美成人| 欧美与欧洲交xxxx免费观看| 俺去亚洲欧洲欧美日韩| 国产一区二区三区视频在线观看| 亚洲欧美日韩视频一区| 亚洲激情自拍图| 久久人人爽人人爽爽久久| 欧美肥老妇视频| 91国在线精品国内播放| 一区二区欧美在线| 尤物99国产成人精品视频| 日韩av网址在线| 精品久久久久久久久国产字幕| 欧美综合一区第一页| 日韩美女在线播放| 欧美理论片在线观看| 69国产精品成人在线播放| 亚洲综合在线播放| 欧美日韩国产中文字幕| 亚洲aⅴ日韩av电影在线观看| 亚洲激情小视频| 91av视频在线播放| 91av免费观看91av精品在线| 亚洲第一二三四五区| 亚洲成人av资源网| 国产精品一区二区三区免费视频| 综合欧美国产视频二区| 日韩在线不卡视频| 亚洲欧美成人一区二区在线电影| 亚洲午夜久久久久久久| 欧美高清在线视频观看不卡| 国产日韩在线看| 国产精品久久久久久久久久久不卡| 欧美一级淫片aaaaaaa视频| 日韩精品极品毛片系列视频| 97视频在线观看免费高清完整版在线观看| 91极品女神在线| 欧美日韩国产麻豆| 久久亚洲精品成人| 一本色道久久综合狠狠躁篇怎么玩| 欧美大片第1页| 国产精品视频精品视频| 91av免费观看91av精品在线| 在线观看精品自拍私拍| 精品人伦一区二区三区蜜桃免费| 久久久人成影片一区二区三区观看| 免费91麻豆精品国产自产在线观看| 欧美区二区三区| 久久亚洲电影天堂| 成人黄在线观看| 国语自产精品视频在线看抢先版图片| 97超级碰碰碰| 欧美日韩国产色视频| 国产欧美一区二区三区视频| 91免费版网站入口| 久久久久久伊人| 日韩av片永久免费网站| 97国产成人精品视频| 欧美理论电影网| 欧美在线观看www| 亚洲视频日韩精品| 亚洲国产天堂久久综合| 亚洲精品美女免费| 91精品国产电影| 日本一区二区三区四区视频| 久久久人成影片一区二区三区观看| 亚洲成人精品视频在线观看| 国产不卡av在线| 日韩精品高清在线| 国产一区二区香蕉| 4438全国亚洲精品在线观看视频| 国产一区二区三区在线看| 俺去亚洲欧洲欧美日韩| 亚洲欧美中文在线视频| 亚洲国产天堂网精品网站| 日韩av不卡电影| 欧美激情性做爰免费视频| 尤物精品国产第一福利三区| 欧美贵妇videos办公室| 国产在线a不卡| 成人黄色免费片| 久久精品视频在线| 国产成人jvid在线播放| 亚洲全黄一级网站| 久久影院模特热|