1. 程式人生 > >Java Bean登入頁面實現

Java Bean登入頁面實現

在JSP網頁開發的初級階段,並沒有所謂的框架和邏輯分層的概念,JSP網頁程式碼是與業務邏輯程式碼結合在一起的。這些零亂的程式碼書寫方式,給程式的除錯及維護帶來了很大的困難,直至Java Bean的出現,這一問題才得到了些許改善。

1、JavaBean簡介

JavaBean是用於封裝某種業務邏輯或物件的Java類,即它是一個可重用的Java軟體元件模型。
JavaBean的功能是沒有任何限制的,對於任何可以使用java程式碼實現的部分,都可以使用JavaBean進行封裝,如建立一個實體物件,資料庫操作、字串處理等。
在JSP頁面中,可以通過JSP提供的動作標籤來操作JavaBean物件,包括:`<jsp:useBean>`、`<jsp:setProperty>`、`<jsp:getProperty>`3個標籤,在使用過程中無需引入任何第三方的類庫。

2、<jsp:useBean>

<jsp:useBean>標籤用於在JSP頁面中建立一個JavaBean例項,並通過屬性的設定將詞例項存放到指定的範圍內。

語法格式如下:

<jsp:useBean  id = "變數名" scope = "page|request|session|application"   { class = "完整類名"| type = "資料型別" | class = "完整類名" type = "資料型別" | beanName = "完整類名" type = "資料型別"} />

其中 id 屬性:用於定義一個變數名(可以理解為JavaBean的一個代號),程式中通過此變數名對JavaBean進行引用。
scope 屬性:設定Javabean的作用域,有page request session 與 application四種。
type 屬性:指定id屬性所定義的變數型別。
beanName屬性:指定JavaBean的完整類名,此屬性不能與class屬性同時存在。

下面通過一個簡單的例項進行演示:

package com.zch.javabean;
/**
 *
 * @author zch
 *
 * 建立一個Bean 的類,它是一個JavaBean 物件,類中有一個name屬性及相應的getter和setter方法
 *
 */
public class Bean {
    private String name ;

    public String getName() {
        return name + "的JavaBean程式";
    }

    public void setName(String name) {
        this
.name = name; } }

(2)建立一個JavaBean之後,在index.jsp頁面中通過標籤例項化此物件,並呼叫此物件的方法。關鍵程式碼如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<jsp:useBean id="bean" class="com.zch.javabean.Bean"></jsp:useBean>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>JavaBean主頁</title>
  </head>
  <body>
    <%
        bean.setName("ZCH");

     %>
     <h1 align="center"><%=bean.getName() %></h1>
  </body>
</html>

頁面輸出結果如圖所示:
這裡寫圖片描述

3、<jsp:setProperty>

<jsp:setProperty>用於對JavaBean中的屬性進行賦值,但JavaBean的屬性要提供相應的setter方法。
其語法格式如下:

<jsp:setProperty name="例項名" {   property = "" | property = "屬性名" | property = "屬性名" value = "值" }/>

下面同樣舉一例項:

package com.zch.javabean;
/**
 * 
 * @author Administrator
 *
 *建立一個Student類,封裝了一個學生實體物件。
 */
public class Student {
    private int id ;
    private int age;
    private String classes ; 
    //省略get與set方法
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getClasses() {
        return classes;
    }
    public void setClasses(String classes) {
        this.classes = classes;
    }

}

(2)建立一個form表單,並將它放在index.jsp頁面中

<html>
  <head>

    <title>學生資訊</title>

      <style type="text/css">
        *{font-size: 12px;}    
    </style>
  </head>

  <body>
       <div align="center">
        <form action="Student.jsp" method="post">
            <p>學 號:<input type="text" name="id"></p>
            <p>年 齡:<input type="text" name="age"></p>
            <p>
                <input type="submit" value="提 交">
                <input type="reset" value="重 置">
            </p>
        </form>
    </div>
  </body>
</html>

(3)建立student.jsp頁面,用於例項化Student物件,並輸出相應的屬性值

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>學生資訊</title>
 <style type="text/css">
        *{font-size: 15px;}    
    </style>
  </head>
  <body>
    <jsp:useBean id="student" class="com.zch.javabean.Student"></jsp:useBean>
    <jsp:setProperty property="*" name="student"/>
    <div align="center">
        <p>學號:<%=student.getId()%></p>
        <p>年齡:<%=student.getAge()%></p>
    </div>
  </body>
</html>