JSP與JavaBean詳談
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的內部物件
最後一個與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開發入門(三)----JSP與JavaBean (轉)JSJavaBean
- jsp servlet javabeanJSServletJavaBean
- Jsp:使用JavaBean薦JSJavaBean
- JSP第三篇【JavaBean的介紹、JSP的行為--JavaBean】JSJavaBean
- 模式一:jsp+javaBean模式JSJavaBean
- jsp中javabean的問題JSJavaBean
- jsp+servle+javaBean參考JSJavaBean
- jsp呼叫javabean,javabean封裝資料庫的問題JSJavaBean封裝資料庫
- Jsp+JavaBean循序漸進教程(六)JSJavaBean
- jsp中的javabean 和 sevlet 的困惑JSJavaBean
- Jsp+JavaBean模式,Jsp+Servlet模式,MVC模式介紹JSJavaBean模式ServletMVC
- JavaWeb——JSP呼叫資料庫、JavaBean、MVC模式JavaWebJS資料庫BeanMVC模式
- jsp servlet javabean EJB 四者的分工如何JSServletJavaBean
- jsp+javabean能否滿足100人使用?JSJavaBean
- [求助]jsp+javaBean除錯環境問題!JSJavaBean除錯
- JDOM+JSP+JAVABEAN的一個例子(二) (轉)JSJavaBean
- JDOM+JSP+JAVABEAN的一個例子(一) (轉)JSJavaBean
- Tomcat下JSP、Servlet和JavaBean環境的配置TomcatJSServletJavaBean
- 下個jivejdon2.5學jsp+javabean行嗎?JSJavaBean
- JSP+javaBean連線資料庫的問題JSJavaBean資料庫
- jsp呼叫javabean封裝資料庫的問題,急!JSJavaBean封裝資料庫
- javabean裡面如何取得jsp頁面上的二維陣列?JavaBeanJS陣列
- jsp+javaBean+hibernate 執行時報錯,大家幫著看看!JSJavaBean
- lombok get/set 與 JavaBean get/setLombokJavaBean
- 再談Cocoon兼談JSP (轉)JS
- javabeanJavaBean
- JDBC與JavaBean學習筆記(二)JDBCJavaBean筆記
- JSP詳解-1JS
- 開發基於JSP Servlet JavaBean的網上交易系統(含原始檔)JSServletJavaBean
- 【JavaEE】Java內省Introspector、PropertyDescriptor與JavaBeanJavaROSBean
- javaBean分析JavaBean
- 求助,(javabean)JavaBean
- JSP與ServletJSServlet
- 在JSP中的JavaBean設定靜態屬性和方法有沒有意義?JSJavaBean
- 詳談JSP執行原理、生命週期、語法、指令、動作標籤、九大內建物件(JSP 全家桶)JS物件
- JSP 語法詳解(轉)JS
- jsf與jspJS
- 十、理解JavaBeanJavaBean