Jsp+JavaBean循序漸進教程(六)
這一節涉及到兩個頁面,一個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程式中有了一個基本的瞭解,剩下的就是在具體程式中去應用和發揮了。
用來顯示所有的已經註冊的使用者資訊。這兩個頁面都涉及到了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程式中有了一個基本的瞭解,剩下的就是在具體程式中去應用和發揮了。
相關文章
- Docker循序漸進Docker
- PL/Sql循序漸進全面學習教程--OracleSQLOracle
- 循序漸進學加密加密
- 循序漸進linux(二)Linux
- SQL開發 循序漸進SQL
- 循序漸進學習oracleOracle
- 使用C#的後端Web API:循序漸進教程後端WebAPI
- Linux循序漸進(09)(轉)Linux
- Linux循序漸進(08)(轉)Linux
- Linux循序漸進(04)(轉)Linux
- Linux循序漸進(07)(轉)Linux
- Linux循序漸進(06)(轉)Linux
- Linux循序漸進(05)(轉)Linux
- Linux循序漸進(03)(轉)Linux
- Linux循序漸進(02)(轉)Linux
- Linux循序漸進(01)(轉)Linux
- Linux循序漸進(16)(轉)Linux
- Linux循序漸進(13)(轉)Linux
- Linux循序漸進(11)(轉)Linux
- Linux循序漸進(10)(轉)Linux
- 循序漸進DIY一個react(二)React
- 循序漸進DIY一個react(一)React
- 循序漸進DIY一個react(三)React
- 循序漸進DIY一個react(四)React
- 循序漸進理解TypeScript型別模式TypeScript型別模式
- Linux循序漸進(22):vi(轉)Linux
- Linux循序漸進(19):shell(轉)Linux
- 怎樣黑進Microsoft:循序漸進指南 (轉)ROS
- 循序漸進Oracle - 全面認識Oracle ASHOracle
- SOA治理最佳策略:小幅起步循序漸進
- Linux循序漸進(24):vi命令(轉)Linux
- Linux循序漸進(21):別名(轉)Linux
- Linux循序漸進(17):列印操作(轉)Linux
- Linux循序漸進(15):磁碟管理(轉)Linux
- IT專案外包要注意循序漸進(轉)
- 【Python語法】循序漸進理解閉包Python
- Matplotlib學習筆記2 - 循序漸進筆記
- 循序漸進調優union相關的sqlSQL