五、JavaWeb二層模型-JSP+JavaBean實現
5.1、JSP_JavaBean框架總體說明
新建Web項目:JSP_JavaBean, 參考JSP項目
URL: http://localhost:8080/JSP_JavaBean/login.jsp
本節包含三個部分:
1、JavaBean技術基礎
2、數據庫JavaBean技術——DBAccess.jsp
3、JavaBean業務應用——UserBean.jsp
源代碼:
http://download.csdn.net/detail/big2008bone/8850973
實例需求,請看博文:
http://blog.csdn.net/big2008bone/article/details/46682421
5.2、JSP_JavaBean技術實現
5.2.1、JavaBean技術基礎
JavaBean是軟件組件模型,類似微軟COM組件,在JSP程序中經常用於業務邏輯的封裝,操作數據庫等。
使用JavaBean將數據邏輯與前臺頁面分離,使用程序模塊化更具有靈活性,更會維護。
第一步,創建javaBean 對象
import java.io.*;
public class FirstJavaBean{
private String FirstProperty= newString(“”);
public FirstJavaBean(){
}
public String getFirstProperty(){
Return FirstProperty;
}
public void setFirstProperty(Stringvalue){
FirstProperty = value;
}
}
FirstProperty爲類的屬性,通過get 和set 來讀寫。
JavaBean都有哪些屬性呢?
1、Simple屬性
2、indexed屬性 ——針對數值,表示一個數組值
3、Bound屬性——當然屬性發生變化時,觸發一個PropertyChange事件來通知其他對象。
4、Constrained屬性
第二步、在jsp中實例,並引用JavaBean對象
<BODY>
<!—初始化,實例一個JavaBean-->
<jsp:useBean id=”FirstPropertyid”scope=”session”
Class=” FirstJavaBean”>
<!—通過個Bean直接調用屬性方法-->
<%out.println(“The Fist Property is:”+
FirstPropertyid.getFirstProperty()+”<BR>”)%>
<!—通過個指令動作直接調用Bean的屬性-->
The Fist Propertyis:<jsp:getProperty
name=” FirstPropertyid” property=”FirstProperty”><BR>
</BODY>
5.2.2、JavaBean實現數據邏輯的操作
之前使用inc.jsp文件來存放配置信息,並且在JSP文件中實現數據庫的操作。現在我們通過創建DBAccess.java的javaBean來實現對數據庫的操作。在原來demo(JSP)基礎上刪除inc.jsp文件,並刪除所有jsp對它的引用。
使用jsp.war import新的項目JSP_JavaBean
新增class文件 DBAccess.java (放在指定package中,不然運行會報錯)
右擊“source”—“生成Getter和Setter”命令生成所有set和get方法
在新增對數據庫操作方法:
1、openConn()
2、closeConn()
3、executeSql ()
4、querySql ()
5、next()
6、getValue()
參考源代碼:JSP_JavaBean
5.2.3、JavaBean業務應用
業務上我們要實現如下功能,登錄,註冊,退出
新增java文件UserBean.java
實現三個方法:
1、登錄時驗證 Valid()
2、檢查用戶是否存在 isExist()
3、添加用戶 addUser()
http://localhost:8080/JSP_JavaBean/login.jsp
異常:
應該是class沒有加載到JSP中
解決的方法:將DBAccess.java 和UserBean.java 創建在
Package 包com下,然後再JSP中引入這個java文件。
如果java文件放在默認package下Eclipse開放時,不會顯示錯誤,但是運行時不通過。
5.2.4、程序結構總結
和JSP框架比起來,我們新增Java類的使用,目錄Src上新增com和java內容: 如下
其中運行後,再build目錄自動生成classes/com目錄,存放java對應class文件。
JSP_JavaBean框架,將業務邏輯都放在java類中處理,實現和jsp的分離。有利後期維護和開發。
接下來請看下面三層模型