?? 0118.htm
字號:
<html>
<head>
<title>新時代軟件教程:操作系統 主頁制作 服務器 設計軟件 網絡技術 編程語言 文字編輯</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋體}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1 {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center">
<big><strong>
<!-- title -->
Jsp+JavaBean循序漸進教程(六)
</strong></big>
</p>
<div align="right">
<!-- author -->
劉玉鋒
</div>
<p><span class=smallFont>
<!-- content -->
<pre>
這一節涉及到兩個頁面,一個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>添加用戶成功!</P>
<%}else{%>
< H2>添加用戶失敗,請和管理員聯系!</P>
<%}%>
< /BODY>
< /HTML>
listuser.jsp文件
說明:用戶信息列表頁面,用于顯示注冊的所有用戶信息,對數據進行了分頁顯示。
為了方便大家使用,采用了通用的分頁代碼,如果是JDBC2.0以上或者其他支持
TYPE_SCROLL_INSENSITIVE游標的數據庫驅動程序,可以有更簡潔的分頁方法。
和前面jsp頁面類似的語句就不講解了,<%@ page import="java.sql.ResultSet" %>代表在
這個頁面中導入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<i;j++) result.next();
%>
< 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">
第<%=intPage%>頁 共<%=intPageCount%>頁
< a href="listuser.jsp?page=0">首頁</a>
<%if(intPage>1){%>< a href="listuser.jsp?page=<%=intPage-1%>">上一頁</a><%}%>
<%if(intPage<=1){%>上一頁<%}%>
<%if(intPage<intPageCount){%>< a href="listuser.jsp?page=<%=intPage+1%>">下一頁</a><%}%>
<%if(intPage>=intPageCount){%>下一頁<%}%>
< a href="listuser.jsp?page=<%=intPageCount%>">尾頁</a>
第< input type="text" class="main" name="page" size="3" value="<%=intPage%>"
tabindex="1">頁< input type="submit" class="main" value="go" name="B1" tabindex="2">
<class="main">
</td></tr></table></form>
< table border="1" width="100%" cellspacing="0" bordercolorlight="#000000"
bordercolordark="#FFFFFF" class="main">
< tr bgcolor="#FFEBAD">
< td >
< div align="left">用戶名</div>
</td>
< td >
< p align="center">Email
</td>
< td >
< p align="center">主頁
</td>
< td>
< p align="center">登記時間
</td>
< td>
< p align="center">說明
</td>
</tr>
<%
//顯示數據
i = 0;
while(i<intPageSize && result.next()){
%>
< tr bgcolor="#FFEBAD">
< td>
< div align="left"><%=result.getString("username") %></div></td>
< td>< div align="center"><%=result.getString("email") %></a></div></td>
< td>< div align="center">< font color="#0000CC"><%=result.getString("homepage") %>
</font></div></td>
< td>< div align="center">< font color="#FF6666"><%=result.getDate("regtime") %>
</font></div></td>
< td>< div align="center">< font color="#0000FF"><%=result.getString("signs") %>
</font></div></td></tr>
<%
i++;
}
%>
< /table>
<% result.close(); //關閉結果集%>
< /body>
< /html>
先運行程序newuser.jsp文件,進行用戶注冊操作,然后運行listuser.jsp文件,看看是否已經
添加到數據庫中。對于具體jsp文件和class文件放在什么目錄下的問題,請看具體jsp服務器軟件的參考,
一個最簡單的方法就是用Jbuilder4.0直接運行,因為它自帶了Tomcat服務器軟件。
好了,到這里Jsp+JavaBean的介紹就基本上結束了,通過上面的學習,大家應該對JavaBean如何
應用于JSP程序中有了一個基本的了解,剩下的就是在具體程序中去應用和發揮了。
后說一點的是,為了方便大家,上面的所有程序代碼可以在我的網站“JSP愛好者
http://jspbbs.yeah.net”下載。
</pre>
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -