jsp調用javaBean的簡單例子

來源:互聯網
上載者:User

標籤:一個   attribute   w3c   span   print   padding   repo   表示   cell   

 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2     pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>主函數</title> 8 </head> 9 <body>10 <!-- 匯入javaBean類 -->11 <%@ page import="com.weeklyreport.www.TsetBean" %>12 <h2>include 動作執行個體</h2>13 <jsp:include page="date.jsp" flush="flush"></jsp:include>14 <!-- 聲明javaBean對象 -->15 <jsp:useBean id="test" class="com.weeklyreport.www.TsetBean"></jsp:useBean>16 <!--訪問javaBean屬性  -->17 <jsp:setProperty property="message" name="test" value="陳潔娜" />18 19 <p>輸出資訊</p>20 <jsp:getProperty name="test" property="message" />21 </body>22 </html>

一個標準的javaBean有以下幾個特性:

1.javaBean是一個公用的類

2.javaBean有一個不帶參數的構造方法

3.javaBean通過setXXX方法設定屬性,通過getXXX方法擷取屬性。

設定bean的屬性值

1.可以在<jsp:setProperty>中通過param參數為bean的屬性動態賦值。

<jsp:setProperty property="age" name="person" param="sage"/><br>

sage表示參數名,而不是屬性

在瀏覽器地址欄中輸入

http://localhost:8080/test/javabean.jsp?sage=30

則可以得到age屬性的值30

 

Javabean的存活範圍

Scope屬性決定了javabean對象的存在的範圍。可選值有:

1.page(預設值)

2.request

3.session

4.application

<jsp:useBean id="person" class="com.anllin.bean.Person" scope="page"></jsp:useBean>

 

 

Javabean在page範圍內時

客戶每次請求訪問jsp頁面時,都會建立一個javabean對象。Javabean對象的有效範圍是客戶請求訪問的當前jsp網頁。Javabean對象的以下兩種情況下都會結束生命期:

1.客戶請求訪問的是當前jsp網頁通過<forward>標記將請求轉寄到另一個檔案

2.客戶請求訪問的是當前jsp頁面執行完畢並向用戶端發迴響應。

 

 

Javabean在request範圍內

客戶每次請求訪問jsp頁面時,都會建立新的javabean對象。Javabean對象的有效範圍為:

1.客戶請求訪問的當前jsp網頁。

2.和當前網頁共用一個客戶請求的網頁,即當前jsp網頁中<%@include %>指令以及<forward>標記包含的其他jsp檔案

3.當所有共用同一個客戶請求的jsp頁面執行完畢並向用戶端發加響應時,javabean對象結束生命週期。

4.javabean對象作為屬性儲存在httpRequest對象中,屬性名稱javabean的id,屬性值為javabean對象,因此可以通過HttpRequest.getAttribute()方法取得javabean對象,例如:

Jvabean.jsp

<jsp:useBean id="person" class="com.anllin.bean.Person"scope="request"></jsp:useBean>

<jsp:forward page="javabean2.jsp"></jsp:forward>

 

Javabean2.jsp

<%@ page import="com.anllin.bean.Person" %>

 

    <%

    Person person = (Person)request.getAttribute("person");

    out.print(person.getName());

    %>

 

Javabean在session範圍內

1.Javabean對象被建立後,它存在於整個session的生命週期內,現個session中的jsp檔案分享權限設定這個javabean對象。

2.javabean對象作為屬性儲存在HttpSession對象中,屬性名稱為javabean的id,屬性值為javabean對象。除了可以通過javabean的id直接引用javabean對象外,也可以通過HttpSession.getAttribute()方法取得javabean對象,例如:

<jsp:useBean id="person" class="com.anllin.bean.Person"scope="session"></jsp:useBean>

 

    Person person = (Person)session.getAttribute("person");

    out.print(person.getName());

 

Javabean在application範圍內

1.javabean對象被建立後,它存在於整個web應用的生命週期內,web應用中的所有jsp檔案都能共用同一個javabean對象。

2.javabean對象作為屬性儲存在application對象中,屬性名稱為javabean的id,屬性值為javabean對象,除了可以通過javabean的id直接引用對象外,也可以通過javabean的application.getAttribute()方法取得javabean對象,例如:

<jsp:useBean id="person" class="com.anllin.bean.Person"scope="application"></jsp:useBean>

 

    Person person = (Person)application.getAttribute("person");

    out.print(person.getName());

 

假如有一個Person類,有一個屬性name

為什麼我們要提供一個getName()方法和setName()方法,而不是getCCNma之類的?

 

因為只有遵守這個規範,才能通過反射去調用這兩個方法。

 

重點:

區分page,request,session,application之間的差別以及它們的生命週期。

jsp調用javaBean的簡單例子

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.