Jsp+JavaBean循序漸進(jìn)圖文說明教程(6)
發(fā)表時間:2024-01-28 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]這一節(jié)涉及到兩個頁面,一個donewuser.jsp文件用來實現(xiàn)記錄添加操作,另一個文件listuser.jsp文件用來顯示所有的已經(jīng)注冊的用戶信息。這兩個頁面都涉及到了JavaBean的具體調(diào)用,還是來看看文件吧,對于文件中關(guān)鍵代碼,都會添加上注釋,以方便大家理解。 donewuser.jsp...
這一節(jié)涉及到兩個頁面,一個donewuser.jsp文件用來實現(xiàn)記錄添加操作,另一個文件listuser.jsp文件用來顯示所有的已經(jīng)注冊的用戶信息。這兩個頁面都涉及到了JavaBean的具體調(diào)用,還是來看看文件吧,對于文件中關(guān)鍵代碼,都會添加上注釋,以方便大家理解。
donewuser.jsp文件
說明:用戶注冊操作頁面,并根據(jù)用戶注冊成功否顯示相應(yīng)的反饋信息,這個頁面主要的特點就是使用了lyf.adduser這個JavaBean的addNewUser()方法來進(jìn)行記錄的添加。
$#@60;%@ page contentType="text/html;charset=gb2312"%$#@62;
$#@60;% response.setHeader("Expires","0"); %$#@62;
$#@60;!--生成一個JavaBean:lyf.adduser的實例,id為adduser,生存范圍為page--$#@62;
$#@60;jsp:useBean id="adduser" class="lyf.adduser" scope="page"/$#@62;
$#@60;!--設(shè)置JavaBean中各個屬性的值,這會調(diào)用JavaBean中各個屬性的set方法,以便JavaBean得到正確的屬性值,”*”代表進(jìn)行所有屬性的匹配--$#@62;
$#@60;jsp:setProperty name="adduser" property="*"/$#@62;
$#@60;html$#@62;
$#@60;head$#@62;
$#@60;meta http-equiv="Content-Language" content="zh-cn"$#@62;
$#@60;meta http-equiv="Content-Type" content="text/html; charset=gb2312"$#@62;
$#@60;meta name="GENERATOR" content="Microsoft FrontPage 3.0"$#@62;
$#@60;meta name="ProgId" content="FrontPage.Editor.Document"$#@62;
$#@60;title$#@62;用戶添加$#@60;/title$#@62;
$#@60;/head$#@62;
$#@60;body bgcolor="#FFEBBD"$#@62;
$#@60;div align="center"$#@62;$#@60;center$#@62;
$#@60;%
//調(diào)用lyf.adduser的checkUser()方法檢查是否有重復(fù)的用戶名
//如果有重復(fù)就顯示對應(yīng)的信息
if(!adduser.checkUser())
{
//頁面文字輸出信息,使用jsp內(nèi)置對象out的println方法,相當(dāng)于asp中的response.write方法
out.println("對不起,這個用戶名"+adduser.getUsername()+"已經(jīng)被申請了,請重新選擇!");
//return代表返回,運行時候碰到return就不會進(jìn)行下面的處理了,功能相當(dāng)于asp中的response.end
return;
}
%$#@62;
$#@60;%
//如果沒有用戶名重復(fù)的問題,調(diào)用lyf.adduser的addNewUser()方法來將用戶數(shù)據(jù)添加到數(shù)據(jù)庫中,并根據(jù)數(shù)據(jù)添加成功否來顯示對應(yīng)的信息
if(adduser.addNewUser()){
%$#@62;
$#@60;H2$#@62;添加用戶成功!$#@60;/P$#@62;
$#@60;%}else{%$#@62;
$#@60;H2$#@62;添加用戶失敗,請和管理員聯(lián)系!$#@60;/P$#@62;
$#@60;%}%$#@62;
$#@60;/BODY$#@62;
$#@60;/HTML$#@62;
listuser.jsp文件
說明:用戶信息列表頁面,用于顯示注冊的所有用戶信息,對數(shù)據(jù)進(jìn)行了分頁顯示。
為了方便大家使用,采用了通用的分頁代碼,如果是JDBC2.0以上或者其他支持TYPE_SCROLL_INSENSITIVE游標(biāo)的數(shù)據(jù)庫驅(qū)動程序,可以有更簡潔的分頁方法。
和前面jsp頁面類似的語句就不講解了,$#@60;%@ page import="java.sql.ResultSet" %$#@62;代表在這個頁面中導(dǎo)入java.sql.ResultSet的這個類庫,因為Jsp頁面中間要聲明ResultSet;oracle.jdbc.driver.*類庫是Oracle專用的Jdbc驅(qū)動程序,讓Jsp頁面可以用來進(jìn)行Oracle的數(shù)據(jù)庫操作。
$#@60;%@ page contentType="text/html;charset=gb2312"%$#@62;
$#@60;% response.setHeader("Expires","0"); %$#@62;
$#@60;%@ page import="java.sql.ResultSet" %$#@62;
$#@60;%@ page import="oracle.jdbc.driver.*" %$#@62;
$#@60;!--生成一個JavaBean:lyf.db的實例--$#@62;
$#@60;jsp:useBean id="db" class="lyf.db" scope="request"/$#@62;
$#@60;jsp:setProperty name="db" property="*"/$#@62;
$#@60;%
java.lang.String strSQL; //SQL語句
int intPageSize; //一頁顯示的記錄數(shù)
int intRowCount; //記錄總數(shù)
int intPageCount; //總頁數(shù)
int intPage; //待顯示頁碼
java.lang.String strPage;
int i,j,k;
//設(shè)置一頁顯示的記錄數(shù)
intPageSize = 15;
//取得待顯示頁碼
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中沒有page這一個參數(shù),此時顯示第一頁數(shù)據(jù)
intPage = 1;
}
else{//將字符串轉(zhuǎn)換成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage$#@60;1) intPage = 1;
}
//獲取記錄總數(shù)
strSQL = "select count(*) from user";
ResultSet result = db.executeQuery(strSQL); //執(zhí)行SQL語句并取得結(jié)果集
result.next(); //記錄集剛打開的時候,指針位于第一條記錄之前
intRowCount = result.getInt(1);
result.close(); //關(guān)閉結(jié)果集
//記算總頁數(shù)
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//調(diào)整待顯示的頁碼
if(intPage$#@62;intPageCount) intPage = intPageCount;
strSQL="select * from user order by id desc";
//執(zhí)行SQL語句并取得結(jié)果集
result = db.executeQuery(strSQL);
//將記錄指針定位到待顯示頁的第一條記錄上
i = (intPage-1) * intPageSize;
for(j=0;j$#@60;i;j++) result.next();
%$#@62;
$#@60;html$#@62;
$#@60;head$#@62;
$#@60;meta http-equiv="Content-Language" content="zh-cn"$#@62;
$#@60;meta http-equiv="Content-Type" content="text/html; charset=gb2312"$#@62;
$#@60;meta name="GENERATOR" content="Microsoft FrontPage 3.0"$#@62;
$#@60;meta name="ProgId" content="FrontPage.Editor.Document"$#@62;
$#@60;title$#@62;用戶列表$#@60;/title$#@62;
$#@60;/head$#@62;
$#@60;body bgcolor="#FFEBBD"$#@62;
$#@60;div align="center"$#@62;$#@60;center$#@62;
$#@60;table border="1"
borderColorDark="#FFFFFF" borderColorLight="#000000" cellspacing="0" height="22"
width="100%"$#@62;
$#@60;tr bgcolor="#FFEBAD"$#@62;
$#@60;td height="1" width="691" class="main"$#@62;
第$#@60;%=intPage%$#@62;頁 共$#@60;%=intPageCount%$#@62;頁
$#@60;a href="listuser.jsp?page=0"$#@62;首頁$#@60;/a$#@62;
$#@60;%if(intPage$#@62;1){%$#@62;$#@60;a href="listuser.jsp?page=$#@60;%=intPage-1%$#@62;"$#@62;上一頁$#@60;/a$#@62;$#@60;%}%$#@62;
$#@60;%if(intPage$#@60;=1){%$#@62;上一頁$#@60;%}%$#@62;
$#@60;%if(intPage$#@60;intPageCount){%$#@62;$#@60;a href="listuser.jsp?page=$#@60;%=intPage+1%$#@62;"$#@62;下一頁$#@60;/a$#@62;$#@60;%}%$#@62;
$#@60;%if(intPage$#@62;=intPageCount){%$#@62;下一頁$#@60;%}%$#@62;
$#@60;a href="listuser.jsp?page=$#@60;%=intPageCount%$#@62;"$#@62;尾頁$#@60;/a$#@62;
第$#@60;input type="text" class="main" name="page" size="3" value="$#@60;%=intPage%$#@62;" tabindex="1"$#@62;頁$#@60;input type="submit" class="main" value="go" name="B1" tabindex="2"$#@62;$#@60;class="main"$#@62;
$#@60;/td$#@62;$#@60;/tr$#@62;$#@60;/table$#@62;$#@60;/form$#@62;
$#@60;table border="1" width="100%" cellspacing="0" bordercolorlight="#000000"
bordercolordark="#FFFFFF" class="main"$#@62;
$#@60;tr bgcolor="#FFEBAD"$#@62;
$#@60;td $#@62;
$#@60;div align="left"$#@62;用戶名$#@60;/div$#@62;
$#@60;/td$#@62;
$#@60;td $#@62;
$#@60;p align="center"$#@62;Email
$#@60;/td$#@62;
$#@60;td $#@62;
$#@60;p align="center"$#@62;主頁
$#@60;/td$#@62;
$#@60;td$#@62;
$#@60;p align="center"$#@62;登記時間
$#@60;/td$#@62;
$#@60;td$#@62;
$#@60;p align="center"$#@62;說明
$#@60;/td$#@62;
$#@60;/tr$#@62;
$#@60;%
//顯示數(shù)據(jù)
i = 0;
while(i$#@60;intPageSize && result.next()){
%$#@62;
$#@60;tr bgcolor="#FFEBAD"$#@62;
$#@60;td$#@62;
$#@60;div align="left"$#@62;$#@60;%=result.getString("username") %$#@62;$#@60;/div$#@62;$#@60;/td$#@62;
$#@60;td$#@62;$#@60;div align="center"$#@62;$#@60;%=result.getString("email") %$#@62;$#@60;/a$#@62;$#@60;/div$#@62;$#@60;/td$#@62;
$#@60;td$#@62;$#@60;div align="center"$#@62;$#@60;font color="#0000CC"$#@62;$#@60;%=result.getString("homepage") %$#@62;$#@60;/font$#@62;$#@60;/div$#@62;$#@60;/td$#@62;
$#@60;td$#@62;$#@60;div align="center"$#@62;$#@60;font color="#FF6666"$#@62;$#@60;%=result.getDate("regtime") %$#@62;$#@60;/font$#@62;$#@60;/div$#@62;$#@60;/td$#@62;
$#@60;td$#@62;$#@60;div align="center"$#@62;$#@60;font color="#0000FF"$#@62;$#@60;%=result.getString("signs") %$#@62;$#@60;/font$#@62;$#@60;/div$#@62;$#@60;/td$#@62;$#@60;/tr$#@62;
$#@60;%
i++;
}
%$#@62;
$#@60;/table$#@62;
$#@60;% result.close(); //關(guān)閉結(jié)果集%$#@62;
$#@60;/body$#@62;
$#@60;/html$#@62;
先運行程序newuser.jsp文件,進(jìn)行用戶注冊操作,然后運行l(wèi)istuser.jsp文件,看看是否已經(jīng)添加到數(shù)據(jù)庫中。對于具體jsp文件和class文件放在什么目錄下的問題,請看具體jsp服務(wù)器軟件的參考,一個最簡單的方法就是用Jbuilder4.0直接運行,因為它自帶了Tomcat服務(wù)器軟件。
好了,到這里Jsp+JavaBean的介紹就基本上結(jié)束了,通過上面的學(xué)習(xí),大家應(yīng)該對JavaBean如何應(yīng)用于JSP程序中有了一個基本的了解,剩下的就是在具體程序中去應(yīng)用和發(fā)揮了。
后說一點的是,為了方便大家,上面的所有程序代碼可以在我的網(wǎng)站“JSP愛好者h(yuǎn)ttp://jspbbs.yeah.net”下載。