1. 程式人生 > >jsp與javaBean的使用

jsp與javaBean的使用

JavaBean是一種可重複使用,且跨平臺的軟體元件。JavaBean可分為兩種:一種是有使用者介面(UI)的javaBean;還有一種是沒有使用者介面,主要負責處理事務(如資料運算,操縱資料庫)的javaBean。Jsp通常訪問的是後一種javaBean.

Jsp javaBean搭配使用的優點:

1.使得html與java程式分離,這樣便於維護程式碼。如果把所有的程式程式碼都寫到jsp網頁中,會使用程式碼繁雜,難以維護。

2.可以降低開發jsp網頁人員對java程式設計能力的要求。

3.jsp側重於生成動態網頁,事務處理由javaBean來完成,這樣可以充分利用javaBean元件的可重用性特點,提高開發網站的效率。

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

1.javaBean是一個公共的類

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

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

package com.anllin.bean;
 
public class Person
{
    private String name;
    private int age;
    private String address;
    public String getName()
    {
       return name;
    }
    public void setName(String name)
    {
       this.name = name;
    }
    public int getAge()
    {
       return age;
    }
    public void setAge(int age)
    {
       this.age = age;
    }
    public String getAddress()
    {
       return address;
    }
    public void setAddress(String address)
    {
       this.address = address;
    }  
}
 


Jsp訪問javaBean的語法

1.匯入javaBean類

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

2.宣告javaBean物件

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

其實相當於

<%

      Person person = new Person();

  %>

Id表示生成一個類的例項,一般id不能重複,用於表示不同的物件,如果相同則表示同一個物件,這種情況下jsp會報錯。

3.訪問javaBean屬性

<jsp:setProperty property="name" name="person" value="jack"/>

<jsp:getProperty property="name" name="person"/><br>

其實相當於

<%

      person.setName("jack");

      person.getName();

  %>

完整的例子:

<%@ page language="java" import="com.anllin.bean.Person"pageEncoding="UTF-8"%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'javabean.jsp' starting page</title>
  </head>
 
  <body>
    <jsp:useBean id="person" class="com.anllin.bean.Person"></jsp:useBean>
   
    <jsp:setProperty property="name" name="person" value="jack"/>
    <jsp:setProperty property="age" name="person" value="20"/>
    <jsp:setProperty property="address" name="person" value="beijing"/>
   
    <jsp:getProperty property="name" name="person"/><br>
    <jsp:getProperty property="age" name="person"/><br>
    <jsp:getProperty property="address" name="person"/><br>
  </body>
</html>

 

設定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>

Javabeanpage範圍內時

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

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

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

Javabeanrequest範圍內

客戶每次請求訪問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());

%>

Javabeansession範圍內

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());

Javabeanapplication範圍內

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之間的差別以及它們的生命週期。

相關推薦

JSPJavaBean的結合

在JSP中呼叫JavaBean有三個標準的標籤可以用,它們分別是<jsp:useBean>,<jsp:setProperty>和<jsp:getProperty>。 1、<jsp:useBean>標籤 這個標籤定義一個具

jspjavaBean的使用

JavaBean是一種可重複使用,且跨平臺的軟體元件。JavaBean可分為兩種:一種是有使用者介面(UI)的javaBean;還有一種是沒有使用者介面,主要負責處理事務(如資料運算,操縱資料庫)的javaBean。Jsp通常訪問的是後一種javaBean. Jsp 和j

JSPJavaBean相關的動作標籤

JSP與JavaBean相關的動作標籤        在JSP中與JavaBean相關的標籤有: 1)<jsp:useBean>:建立JavaBean物件; 2) <jsp:

jspjavabean程式設計

jsp與javabean程式設計1、實驗內容:(1)增加一個訊息留言錄入頁面msgadd.jsp,使用者在輸入框輸入留言資訊,點選“提交”後表單提交給名為messageServlet的servlet(由其充當控制器),該servlet將請求轉發到message.jsp;由me

jspjavabean標籤

一、Javabean JavaBean是特殊的Java類,滿足了以下幾點特徵: 1、這個Java類必須具有一個無參的建構函式 2、屬性必須私有化。 3、私有化的屬性必須通過public型別的方法暴露給其它程式,並且方法的命名也必須遵守一定的命名規範。 javabean示例: packag

jsp、servletjavabean的區別180110

【段落一】為什麼要用javabean和servlet而不是隻用jsp?以及jsp、servlet與javabean在做什麼 相同點 javabean和servlet 它們都是.java檔案,都要編譯成.class檔案放到WEB-INF目錄下 首先,JavaBean和Ser

JSPServlet傳值及對比

input 透明 https 需要 gic jquery sevlet cart scipt JSP是Servlet技術的擴展,本質上是Servlet的簡易方式,更強調應用的外表表達。 JSP編譯後是”類servlet”。 Servlet和JSP最主要的不同點在於,S

JSPJavaBean

test starting keyword login pub isp net import clas package com.po; public class Users { private String username; private S

JSPServlet的關系理解

run 新的 into 開始 線程 服務器 選擇 bin .exe Servlet是Java提供的用於開發Web服務器應用程序的一個組件,運行在服務器端,由Servlet容器所管理,用於生成動態的內容。Servlet是平臺獨立的Java類,編寫一個Servlet,實際上就是

Java學習06 (第一遍) - JSPServlet

prop stand ref property page Language requests 導入 找不到 EL(Expression Language) <% User user=(User)session.getAttribute("user"); D

JSPServlet之後臺頁面單條刪除多條刪除的頁面跳轉之實現

.get func rac web nbsp pre resp har 做的 單條刪除頁面跳轉 1、首先打開JSP頁面,找到刪除 2、這個時候要把它改成servlet的URL,並決定要傳給後臺什麽數據,例如我需要傳一個待刪數據的ID id並不是什麽見不得

JSPServlet的區別

jsp servlet 一、概念ServletServlet(Server Applet)是Java Servlet的簡稱,是為小服務程序或服務連接器,用Java編寫的服務器端程序,主要功能在於交互式地瀏覽和修改數據,生成動態Web內容。狹義的Servlet是指Java語言實現的一個接口,廣義的Ser

a simple java login using jsp, servlet, javabean

技術分享 ons stack param cal rom oid .get fin the java layout is like this: the web.xml: the login.jsp: success.jsp: Acount.java: the

JSONJavabean轉換的幾種形式

img 之一 keys open isp println 轉換成 hang zha JSON格式的數據傳遞是最常用的方法之一,以下列出了常用的幾種形態以及與Javabean之間的轉換:   String json1="{‘name‘:‘zhangsan‘,‘age‘

基於jsp+servlet+javabean的MVC模式簡單應用

del html word exe usebean amp nco roo cut 原先寫在CSDN的一篇,我直接扒過來吧。之前打算在CSDN的,結果寫了幾回,發現他那個發布系統簡直爛到家,經常丟失圖片各種。所以很長一段時間我也沒寫什麽。 一、MVC模式 1、M :

JSPservlet之間的傳值方式

性能 pattern form表單 n) edi post isp des 標簽 JSP與 servlet之間的傳值有兩種情況:JSP -> servlet, servlet -> JSP。 通過對象 request和 session (不考慮 applicat

java_web—JSP+Servlet+JavaBean

標準 sha create cnblogs bean out rec exec jar JSP -> Java Server Page 後端 jsp -> JavaScript 前端 JSP語法 1.JSP內置對象 (1)8個+1個: (2)負載均衡裏一個很

jsonjavabean之間的轉化

new 但是 json.js 9.png exceptio rtl true etag sonar 接著上一個http://www.cnblogs.com/ya-qiang/p/9009134.html隨筆,繼續介紹json與java對象之間的轉化 一、java普通對象和j

Spring Boot 最佳實踐(二)集成Jsp生產環境部署

內容 tro conf 相關 安裝 packaging exc 詳細介紹 更新 一、簡介 提起Java不得不說的一個開發場景就是Web開發,也是Java最熱門的開發場景之一,說到Web開發繞不開的一個技術就是JSP,因為目前市面上仍有很多的公司在使用JSP,所以本文就來介紹

JSP Servlet重要部分

1.講下servlet的執行流程。 Servlet的執行流程也就是servlet的生命週期,當伺服器啟動的時候生命週期開始,然後通過init()《啟動順序根據web.xml裡的startup-on-load來確定載入順序》 方法初始化servlet,再根據不同請求呼叫doGet