Jsp+JavaBean循序漸進教程(六)

javaprogramers發表於2005-04-19
    這一節涉及到兩個頁面,一個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程式中有了一個基本的瞭解,剩下的就是在具體程式中去應用和發揮了。

相關文章