如何使用JSP+MySQL创建留言本(二)

本文介绍了一个使用JSP从MySQL数据库中读取留言并分页显示的例子。通过这个示例,读者可以了解如何在JSP中连接MySQL数据库、执行SQL查询以及处理结果集。

有了数据库下面就要对数据库操作读取留言了!
下面列出显示留言的主要程序
<%@page import="java.sql.*"
import ="java.util.*"
import ="java.io.*"
contentType="text/html; charset=gb2312"
%>



FrontPage 4.0">




萍慧自由空间留言本




bordercolordark="#6666FF" cellpadding="0" cellspacing="0" align="center">





<%//下面处理用户的分页请求
String string_page;
int Page,RecoderPage,RecoderRow;
try{string_page=request.getParameter("page");
}catch (NullPointerException e){string_page="";}
try{Page=Integer.parseInt(string_page);
}catch(NumberFormatException e)
{Page=0;
}

java.sql.Connection sqlConn; //数据库连接对象
java.sql.Statement sqlStmt; //语句对象
java.sql.ResultSet sqlRst; //结果集对象
//登记JDBC驱动对象
Class.forName ("org.gjt.mm.mysql.Driver").newInstance ();
//连接数据库
sqlConn= java.sql.DriverManager.getConnection ("jdbc:mysql://localhost/p","test","");
//创建语句对象
sqlStmt=sqlConn.createStatement
(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
//执行Sql语句
String sqlQuery="select count(*) from comment";
sqlRst=sqlStmt.executeQuery (sqlQuery);
sqlRst.next();
int count=sqlRst.getInt(1); //取得总的留言记录数
if (Page>=0)RecoderPage=Page;//处理页面
else RecoderPage=0-Page*10;
if (RecoderPage>count/15){ RecoderPage=count/15; Page=RecoderPage; }//页面越界

RecoderRow=RecoderPage*15; //取得要显示的留言记录号
sqlQuery="select * from comment order by userid desc limit "+RecoderRow+",15;"; //一次读取15条记录
sqlRst=sqlStmt.executeQuery (sqlQuery);
%> 总共有<%=count%>条留言
<% while (sqlRst.next()) //显示留言
{ //取得下一条记录 %> 第<%=sqlRst.getString("userid")%>条




















bordercolorlight="#6666FF" bordercolordark="#6666FF" bgcolor="#CCCCFF" align="center">
昵称:<%=sqlRst.getString("username")%>性别:<%=sqlRst.getString("sex")%>地址:<%=sqlRst.getString("address") %>
电话:<%=sqlRst.getString("telnumber")%>邮编:<%=sqlRst.getString("post")%>OICQ:<%=sqlRst.getString("oicq")%>ICQ:<%=sqlRst.getString("icq")%>
Email:
" title="写信给留言者"><%=sqlRst.getString("email")%>< /td>
网址:
" title="写信给留言者">
<%=sqlRst.getString("urltitle")%>

留言:<%=sqlRst.getString("comment")%>

    -<%=sqlRst.getString("time") %>


(来自<%=sqlRst.getString("ip") %>)




<% } %> <%
//下面对留言进行分页
int i=count/15; //总页,每页显示15条记录
int j=i/10; //总的大页 ,没10个页面分一大页
//Page 显示的页面
int StartPage;
//int HrefPage;
if (Page<0) Page=0-Page*10; //10页分一次
StartPage=Page/10; //10页分一次
out.print ("[共有"+(i+1)+"页]");
//out.print ("共有"+j+"屏");
//out.print ("显示第"+Page+"页");
//out.print ("StartPage="+StartPage);
if (StartPage>0)
out.print ("|前10页");
for (int k=0;k<10;k++)
{ int p=StartPage*10+k;


if (p>i) break;
if (p==Page)
out.print ("|第"+Integer.toString(p+1)+"页");
else
out.print ("|第"+Integer.toString(p+1)+"页");
}
if (StartPage



<%
//关闭结果集对象
sqlRst.close();
//关闭语句对象
sqlStmt.close ();
//关闭数据库连接
sqlConn.close();
%> 程序结束
程序中的不足:
没有对错误进行捕捉,但是这里只为了对jsp读取Mysql数据库进行讲解。如果是用与作留言本的话一定要对错误进行处理! 我们还要留言呢?

来自:http://www.javah.net/JSP_JSF/20070514/1220.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值