Jsp+JavaBean循序漸進教程(六)
來源:互聯網
上載者:User
js|教程 這一節涉及到兩個頁面,一個donewuser.jsp檔案用來實現記錄添加操作,另一個檔案listuser.jsp檔案
用來顯示所有的已經註冊的使用者資訊。這兩個頁面都涉及到了JavaBean的具體調用,還是來看看檔案吧,
對於檔案中關鍵代碼,都會添加上注釋,以方便大家理解。
donewuser.jsp檔案
說明:使用者註冊操作頁面,並根據使用者註冊成功否顯示相應的反饋資訊,這個頁面主要的特點就是使用了
lyf.adduser這個JavaBean的addNewUser()方法來進行記錄的添加。
< %@ page contentType="text/html;charset=gb2312"%>
< % response.setHeader("Expires","0"); %>
< !--產生一個JavaBean:lyf.adduser的執行個體,id為adduser,生存範圍為page-->
< jsp:useBean id="adduser" class="lyf.adduser" scope="page"/>
< !--設定JavaBean中各個屬性的值,這會調用JavaBean中各個屬性的set方法,以便JavaBean得到
正確的屬性值,”*”代表進行所有屬性的匹配-->
< jsp:setProperty name="adduser" property="*"/>
< html>
< head>
< meta http-equiv="Content-Language" content="zh-cn">
< meta http-equiv="Content-Type" content="text/html; charset=gb2312">
< meta name="GENERATOR" content="Microsoft FrontPage 3.0">
< meta name="ProgId" content="FrontPage.Editor.Document">
< title>使用者添加< /title>
< /head>
< body bgcolor="#FFEBBD">
< div align="center">< center>
< %
//調用lyf.adduser的checkUser()方法檢查是否有重複的使用者名稱
//如果有重複就顯示對應的資訊
if(!adduser.checkUser())
{
//頁面文字輸出資訊,使用jsp內建對象out的println方法,相當於asp中的response.write方法
out.println("對不起,這個使用者名稱"+adduser.getUsername()+"已經被申請了,請重新選擇!");
//return代表返回,運行時候碰到return就不會進行下面的處理了,功能相當於asp中的response.end
return;
}
%>
< %
//如果沒有使用者名稱重複的問題,調用lyf.adduser的addNewUser()方法來將使用者資料添加到資料庫中,並
根據資料添加成功否來顯示對應的資訊
if(adduser.addNewUser()){
%>
< H2>添加使用者成功!
< H2>添加使用者失敗,請和管理員聯絡!
< /BODY>
< /HTML>
listuser.jsp檔案
說明:使用者資訊列表頁面,用於顯示註冊的所有使用者資訊,對資料進行了分頁顯示。
為了方便大家使用,採用了通用的分頁代碼,如果是JDBC2.0以上或者其他支援
TYPE_SCROLL_INSENSITIVE遊標的資料庫驅動程式,可以有更簡潔的分頁方法。
和前面jsp頁面類似的語句就不講解了,代表在
這個頁面中匯入java.sql.ResultSet的這個類庫,因為Jsp頁面中間要聲明ResultSet;
oracle.jdbc.driver.*類庫是Oracle專用的Jdbc驅動程式,讓Jsp頁面可以用來進行Oracle的資料庫操作。
< %@ page contentType="text/html;charset=gb2312"%>
< % response.setHeader("Expires","0"); %>
< %@ page import="java.sql.ResultSet" %>
< %@ page import="oracle.jdbc.driver.*" %>
< !--產生一個JavaBean:lyf.db的執行個體-->
< jsp:useBean id="db" class="lyf.db" scope="request"/>
< jsp:setProperty name="db" property="*"/>
< %
java.lang.String strSQL; //SQL語句
int intPageSize; //一頁顯示的記錄數
int intRowCount; //記錄總數
int intPageCount; //總頁數
int intPage; //待顯示頁碼
java.lang.String strPage;
int i,j,k;
//設定一頁顯示的記錄數
intPageSize = 15;
//取得待顯示頁碼
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中沒有page這一個參數,此時顯示第一頁資料
intPage = 1;
}
else{//將字串轉換成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
//擷取記錄總數
strSQL = "select count(*) from user";
ResultSet result = db.executeQuery(strSQL); //執行SQL語句並取得結果集
result.next(); //記錄集剛開啟的時候,指標位於第一條記錄之前
intRowCount = result.getInt(1);
result.close(); //關閉結果集
//記算總頁數
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//調整待顯示的頁碼
if(intPage>intPageCount) intPage = intPageCount;
strSQL="select * from user order by id desc";
//執行SQL語句並取得結果集
result = db.executeQuery(strSQL);
//將記錄指標定位到待顯示頁的第一條記錄上
i = (intPage-1) * intPageSize;
for(j=0;j
< html>
< head>
< meta http-equiv="Content-Language" content="zh-cn">
< meta http-equiv="Content-Type" content="text/html; charset=gb2312">
< meta name="GENERATOR" content="Microsoft FrontPage 3.0">
< meta name="ProgId" content="FrontPage.Editor.Document">
< title>使用者列表< /title>
< /head>
< body bgcolor="#FFEBBD">
< div align="center">< center>
< table border="1"
borderColorDark="#FFFFFF" borderColorLight="#000000" cellspacing="0" height="22"
width="100%">
< tr bgcolor="#FFEBAD">
< td height="1" width="691" class="main">
第頁 共頁
< a href="listuser.jsp?page=0">首頁
< a href="listuser.jsp?page=">上一頁
上一頁
< a href="listuser.jsp?page=">下一頁
下一頁
< a href="listuser.jsp?page=">尾頁
第< input type="text" class="main" name="page" size="3" value=""
tabindex="1">頁< input type="submit" class="main" value="go" name="B1" tabindex="2">
< table border="1" width="100%" cellspacing="0" bordercolorlight="#000000"
bordercolordark="#FFFFFF" class="main">
< tr bgcolor="#FFEBAD">
< td >
< div align="left">使用者名稱
< td >
< p align="center">Email
< td >
< p align="center">首頁
< td>
< p align="center">登記時間
< td>
< p align="center">說明
< tr bgcolor="#FFEBAD">
< td>
< div align="left">
< td>< div align="center">
< td>< div align="center">< font color="#0000CC">
< td>< div align="center">< font color="#FF6666">
< td>< div align="center">< font color="#0000FF">
< /table>
< /body>
< /html>
先運行程式newuser.jsp檔案,進行使用者註冊操作,然後運行listuser.jsp檔案,看看是否已經
添加到資料庫中。對於具體jsp檔案和class檔案放在什麼目錄下的問題,請看具體jsp伺服器軟體的參考,
一個最簡單的方法就是用Jbuilder4.0直接運行,因為它內建了Tomcat伺服器軟體。
好了,到這裡Jsp+JavaBean的介紹就基本上結束了,通過上面的學習,大家應該對JavaBean如何
應用於JSP程式中有了一個基本的瞭解,剩下的就是在具體程式中去應用和發揮了。