# JSPJavaBean
JavaBean 是特殊的 Java 類,使用 Java 語言書寫,并且遵守 JavaBean API 規范。
接下來給出的是 JavaBean 與其它 Java 類相比而言獨一無二的特征:
* 提供一個默認的無參構造函數。
* 需要被序列化并且實現了 Serializable 接口。
* 可能有一系列可讀寫屬性。
* 可能有一系列的 getter 或**setter**方法。
* * *
## JavaBean 屬性
一個 JavaBean 對象的屬性應該是可訪問的。這個屬性可以是任意合法的 Java 數據類型,包括自定義 Java 類。
一個 JavaBean 對象的屬性可以是可讀寫,或只讀,或只寫。JavaBean 對象的屬性通過 JavaBean 實現類中提供的兩個方法來訪問:
| **方法** | **描述** |
| --- | --- |
| get**PropertyName**() | 舉例來說,如果屬性的名稱為 myName,那么這個方法的名字就要寫成 getMyName() 來讀取這個屬性。這個方法也稱為訪問器。 |
| set**PropertyName**() | 舉例來說,如果屬性的名稱為 myName,那么這個方法的名字就要寫成 setMyName()來寫入這個屬性。這個方法也稱為寫入器。 |
一個只讀的屬性只提供 getPropertyName() 方法,一個只寫的屬性只提供 setPropertyName() 方法。
* * *
## JavaBean 程序示例
這是 StudentBean.java 文件:
~~~
package com.yiniuedu;
public class StudentsBean implements java.io.Serializable
{
private String firstName = null;
private String lastName = null;
private int age = 0;
public StudentsBean() {
}
public String getFirstName(){
return firstName;
}
public String getLastName(){
return lastName;
}
public int getAge(){
return age;
}
public void setFirstName(String firstName){
this.firstName = firstName;
}
public void setLastName(String lastName){
this.lastName = lastName;
}
public void setAge(int age) {
this.age = age;
}
}
~~~
編譯 StudentBean.java 文件(最后一個實例會用到):
~~~
$ javac StudentsBean.java
~~~
編譯后獲得**StudentBean.class**文件,將其拷貝到**/WebContent/WEB-INF/classes/com/yiniuedu**,如下圖所示:
* * *
## 訪問JavaBean
標簽可以在 JSP 中聲明一個 JavaBean,然后使用。聲明后,JavaBean 對象就成了腳本變量,可以通過腳本元素或其他自定義標簽來訪問。 標簽的語法格式如下:
~~~
<jsp:useBean id="bean 的名字" scope="bean 的作用域" typeSpec/>
~~~
其中,根據具體情況,scope 的值可以是 page,request,session 或 application。id值可任意只要不和同一 JSP 文件中其它 中 id 值一樣就行了。
接下來給出的是 標簽的一個簡單的用法:
~~~
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<title>useBean 實例</title>
</head>
<body>
<jsp:useBean id="date" class="java.util.Date" />
<p>日期為:<%= date %>
</body>
</html>
~~~
它將會產生如下結果:
~~~
日期為:Tue Jun 28 15:22:24 CST 2016
~~~
* * *
## 訪問 JavaBean 對象的屬性
在****標簽主體中使用****標簽來調用**getter**方法,使用****標簽來調用**setter**方法,語法格式如下:
~~~
<jsp:useBean id="id" class="bean 編譯的類" scope="bean 作用域">
<jsp:setProperty name="bean 的 id" property="屬性名"
value="value"/>
<jsp:getProperty name="bean 的 id" property="屬性名"/>
...........
</jsp:useBean>
~~~
name屬性指的是Bean的id屬性。property屬性指的是想要調用的getter或setter方法。
接下來給出使用以上語法進行屬性訪問的一個簡單例子:
~~~
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<title>get 和 set 屬性實例</title>
</head>
<body>
<jsp:useBean id="students"
class="com.yiniuedu.StudentsBean">
<jsp:setProperty name="students" property="firstName"
value="小強"/>
<jsp:setProperty name="students" property="lastName"
value="王"/>
<jsp:setProperty name="students" property="age"
value="10"/>
</jsp:useBean>
<p>學生名字:
<jsp:getProperty name="students" property="firstName"/>
</p>
<p>學生姓氏:
<jsp:getProperty name="students" property="lastName"/>
</p>
<p>學生年齡:
<jsp:getProperty name="students" property="age"/>
</p>
</body>
</html>
~~~
訪問以上 JSP,運行結果如下:
~~~
學生名字: 小強
學生姓氏: 王
學生年齡: 10
~~~
- Java Web項目開發學習手冊
- 一、B/S開發環境搭建
- 1.1 tomcat服務器目錄結構及作用
- 1.2 在IDE開發工具上配置tomcat服務器
- 1.3 簡單web項目在tomcat服務器上運行的方法
- 1.4 開發工具設置
- 1.5 總結
- 二、Servlet技術應用
- 2.1 HttpServlet中的主要方法及應用
- 2.1.1 基于Eclipse完成一個JavaWeb項目
- 2.2 HttpRequest,HttpResponse的應用
- 2.2.1客戶端請求
- 2.2.2服務器響應
- 2.2.3Servlet HTTP 狀態碼
- 2.2.4圖片驗證碼類
- 2.2.5注冊模擬實現(帶驗證碼)
- 2.3 ServletConfig對象和ServletContext對象的概念
- 2.4 總結
- 三、JSP技術應用
- 3.1 JSP基本語法
- 3.2 JSP標簽和指令
- 3.3 JSP中的隱式對象
- 3.4 常用應用操作
- 3.4.1 JSP客戶端請求
- 3.4.2 JSP服務器響應
- 3.4.3 HTTP狀態碼
- 3.4.4 表單處理
- 3.4.5 過濾器
- 3.4.6 Cookie處理
- 3.4.7 Session處理
- 3.4.8 文件上傳
- 3.4.9 日期處理
- 3.4.10 頁面重定向
- 3.4.11 點擊量統計
- 3.4.12 自動刷新
- 3.4.13 發送郵件
- 3.5 JSP高級應用
- 3.5.1 JSP標準標簽庫(JSTL)
- 3.5.2 JSP連接數據庫
- 3.5.3 JSP XML數據處理
- 3.5.4 JSP JavaBean
- 3.5.5 自定義標簽
- 3.5.6 表達式語言
- 3.5.7 異常處理
- 3.5.8 調試
- 3.5.9 JSP國際化
- 3.6 實踐代碼
- 3.6.1 實踐代碼
- 3.6.2 項目實戰
- 3.7 總結
- 四、MVC思想的理解和搭建MVC
- 4.1 MVC設計模式的思想
- 4.2 MVC設計模式的實現步驟
- 4.3 項目實踐
- 4.4 總結
- 五、EL表達式和JSTL技術
- 5.1 EL表達式及其應用
- 5.2 常用的JSTL標簽的應用
- 5.3 項目實踐
- 5.4 總結
- 六、Cookie和Session
- 6.1 cookie對象的概念和應用
- 6.2 session對象的概念和應用
- 6.3 項目實踐
- 6.4 總結
- 七、過濾器技術應用
- 7.1 Filter的概念及應用
- 7.2 Filter、FilterChain、FilterConfig 介紹
- 7.3 用戶登錄過濾案例
- 7.4 項目實戰
- 7.5總結
- 八、異步請求技術
- 8.1 JSON數據格式
- 8.2 使用AJAX實現異步請求
- 8.3 用戶名校驗案例
- 8.4小結
- 綜合項目技術實訓
- 1.BS項目開發項目實戰
- 2.項目需求分析和系統設計
- 2.1需求分析
- 2.2類型模型設計
- 2.3原型設計
- 3.項目數據庫分析和系統設計
- 4.BS項目編程實現
- 4.1搭建框架和命名規約
- 4.2實現步驟
- 4.2.1創建實體類
- 4.2.2創建過濾器類
- 4.2.3創建工具類
- 4.2.4創建DAO接口及其實現類
- 4.2.5創建Service接口及其實現類
- 4.2.6創建測試類
- 4.2.7創建控制器類
- 5.企業開發流程規范
- 6.總結
- 九、練習題及答案
- 企業開發常用技術
- 1.Maven技術
- Java命名規范解讀
- 參考資料
- 開發中常用的應用服務器和Web服務器