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

首頁 > 編程 > JSP > 正文

JSP開發入門

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

javaserver pages (jsp) 是一種以 java為主的跨平臺語言。

   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.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区丝袜高跟鞋图片| 国产69精品99久久久久久宅男| 97超碰国产精品女人人人爽| 九九视频直播综合网| 欧美麻豆久久久久久中文| 国产精品国模在线| 亚洲欧洲免费视频| 欧美裸体xxxx| 日本伊人精品一区二区三区介绍| 久久久久一本一区二区青青蜜月| 日韩极品精品视频免费观看| 欧洲亚洲女同hd| xxav国产精品美女主播| 色妞久久福利网| 亚洲老头同性xxxxx| 91欧美精品午夜性色福利在线| 91精品久久久久久久久久久久久久| 中文字幕欧美国内| 亚洲成人av中文字幕| 日韩美女写真福利在线观看| 亚洲精品理论电影| 欧美在线亚洲一区| 精品中文字幕视频| 国产亚洲精品综合一区91| 色99之美女主播在线视频| 亚洲国产成人爱av在线播放| 91精品国产高清| 国产精品视频一| 欧美视频不卡中文| 1769国内精品视频在线播放| 亚洲色图激情小说| 欧美成人国产va精品日本一级| 欧美色xxxx| 国产精品美女www爽爽爽视频| 日韩美女写真福利在线观看| 久久久伊人欧美| 欧美洲成人男女午夜视频| 中文字幕一区电影| 亚洲第一中文字幕在线观看| 国产成人一区二区在线| 国产精品99久久久久久久久久久久| 国产精品久久久久久亚洲调教| 国产精品久久久久久久久| 国产日本欧美在线观看| 懂色aⅴ精品一区二区三区蜜月| 欧美日韩第一视频| 在线精品视频视频中文字幕| 国产成人精品av在线| 91欧美视频网站| 国产精品第一视频| 欧美夜福利tv在线| 国产成+人+综合+亚洲欧洲| 国产欧美精品久久久| 久久精品免费播放| 中文综合在线观看| 国产亚洲精品久久久久久777| 久久精品国产清自在天天线| 91中文精品字幕在线视频| 欧美性生活大片免费观看网址| 久久久成人的性感天堂| 欧美成人激情图片网| 日韩中文娱乐网| 一区二区三区国产在线观看| 国产91精品网站| 亚洲伊人久久大香线蕉av| 精品久久久精品| 亚洲天堂成人在线视频| 亚洲最大福利网站| 欧美日韩在线视频一区二区| 精品久久久久久久久久久久久久| 久久久国产一区二区三区| 国产精品第2页| 日韩视频精品在线| 精品久久中文字幕久久av| 日韩精品视频在线免费观看| 日韩中文在线视频| 久久欧美在线电影| 欧美高清在线观看| 亚洲美女久久久| 色av吧综合网| 欧美色图在线视频| 国产成人+综合亚洲+天堂| 在线看国产精品| 国产成人精品一区| 欧美国产高跟鞋裸体秀xxxhd| 亚洲国产高清自拍| 欧美精品一区在线播放| 色老头一区二区三区在线观看| 大荫蒂欧美视频另类xxxx| 国产精品美女www爽爽爽视频| 亚洲一区二区黄| 亚洲片在线资源| 亚洲综合中文字幕在线观看| 91在线网站视频| 亚洲bt欧美bt日本bt| 日韩av在线精品| 亚洲韩国青草视频| 91丨九色丨国产在线| 91精品免费久久久久久久久| 亚洲精品资源在线| 亚洲欧美日韩中文在线| 国产亚洲美女久久| 亚洲国产中文字幕久久网| 久久久久一本一区二区青青蜜月| 在线视频欧美性高潮| 国产亚洲激情视频在线| 狠狠色噜噜狠狠狠狠97| 亚洲天堂精品在线| 中文字幕久热精品视频在线| 日韩欧美综合在线视频| 日韩av在线导航| 91视频88av| 久久久免费高清电视剧观看| 国产精品久久久久高潮| 国产在线观看一区二区三区| 欧美自拍视频在线| 亚洲色无码播放| 国产精品jvid在线观看蜜臀| 91精品国产自产在线老师啪| 日韩精品在线免费观看| 91香蕉嫩草神马影院在线观看| 精品国偷自产在线| 日韩av一区二区在线观看| 成人免费网站在线观看| 国产精品久久久久久五月尺| 理论片在线不卡免费观看| 欧美亚洲另类激情另类| 亚洲国产黄色片| 国a精品视频大全| 国产精品都在这里| 国产精品高潮视频| 国产精品午夜一区二区欲梦| 国产精品久久久久久超碰| 亚洲国产精品专区久久| 国产日产欧美a一级在线| 91视频-88av| 欧美韩日一区二区| 国产亚洲欧美日韩一区二区| 91av在线播放| 大胆人体色综合| www亚洲欧美| 亚洲欧洲日产国产网站| 国产91对白在线播放| 久久久久久久久久婷婷| 亚洲日本成人网| 国产在线播放91| 色综合久久精品亚洲国产| 韩国美女主播一区| 欧美成人精品一区二区三区| 2021国产精品视频| 亚洲黄色免费三级| 懂色av中文一区二区三区天美| 欧美性极品xxxx做受| 97碰碰碰免费色视频| 国产欧美精品在线| 国产亚洲aⅴaaaaaa毛片| 98精品国产自产在线观看| 成人h视频在线| 亚洲国产精品久久久久秋霞不卡| 日韩精品中文字幕视频在线| 久久精品国产96久久久香蕉| 久久资源免费视频| 欧美在线观看网址综合| 91社区国产高清|