当前位置: 移动技术网 > IT编程>开发语言>Java > 如何使用JSP+MySQL创建留言本(二)

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

2017年12月12日  | 移动技术网IT编程  | 我要评论
有了数据库下面就要对数据库操作读取留言了!
下面列出显示留言的主要程序
<%@page import="java.sql.*"
import ="java.util.*"
import ="java.io.*"
contenttype="text/html; charset=gb2312"
%>
<html>
<head>
<title>萍慧自由空间留言本</title>
<meta name="generator" content="microsoft frontpage 4.0">
<meta name="progid" content="frontpage.editor.document">
<style type="text/css"><!--
body { font-size: 9pt}
td { font-size: 9pt}-->
</style>
</head>
<body>
<p align="center"><u><font size="5" face="华文新魏">萍慧自由空间留言本</font></u></p>
<table width="75%" border="1" bgcolor="#ffccff" bordercolorlight="#0000ff"  
bordercolordark="#6666ff" cellpadding="0" cellspacing="0" align="center">
<tr>  
  <td colspan="5" height="202">
<%//下面处理用户的分页请求
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")%>条  
   <table width="95%" border="1" cellspacing="1" cellpadding="1"  
bordercolorlight="#6666ff" bordercolordark="#6666ff" bgcolor="#ccccff" align="center">
    <tr>  
     <td width="25%">昵称:<%=sqlrst.getstring("username")%></td>
     <td width="25%">性别:<%=sqlrst.getstring("sex")%></td>
     <td colspan="2" width="50%">地址:<%=sqlrst.getstring("address") %></td>
    </tr>
    <tr>  
     <td width="25%">电话:<%=sqlrst.getstring("telnumber")%></td>
     <td width="25%">邮编:<%=sqlrst.getstring("post")%></td>
     <td width="25%">oicq:<%=sqlrst.getstring("oicq")%></td>
     <td width="25%">icq:<%=sqlrst.getstring("icq")%></td>
    </tr>
    <tr>  
     <td colspan="2" width="50%">email:
<a href="mailto:<%=sqlrst.getstring("email")%>" title="写信给留言者"><%=sqlrst.getstring("email")%></a></td>
     <td colspan="2" width="50%">网址:
<a href target="_blank"></a><a href="mailto:<%=sqlrst.getstring("url")%>" title="写信给留言者">
<%=sqlrst.getstring("urltitle")%></a></td>
    </tr>
    <tr>  
     <td colspan="4"><font style="line-height: 150%;color: green">
留言:<%=sqlrst.getstring("comment")%><br>
          -<%=sqlrst.getstring("time") %>  
(来自<%=sqlrst.getstring("ip") %>)</font></td>
    </tr>
   </table>
   <hr align="center" noshade size="2" width="95%">
   <% } %> <%
//下面对留言进行分页
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 ("|<a href="connectmysql.jsp?page=-"+integer.tostring(startpage-1)+"">前10页</a>");
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 ("|<a href="connectmysql.jsp?page="+p+"">第"+integer.tostring(p+1)+"页</a>");
}
if (startpage<j)  
  out.print ("|<a href="connectmysql.jsp?page=-"+integer.tostring(startpage+1)+"">后10页</a>");
out.print ("|");
%> </td>
</tr>
</table>
</body>
<%
//关闭结果集对象
  sqlrst.close();
  //关闭语句对象
sqlstmt.close ();
//关闭数据库连接
sqlconn.close();
%> 程序结束
程序中的不足:
没有对错误进行捕捉,但是这里只为了对jsp读取mysql数据库进行讲解。如果是用与作留言本的话一定要对错误进行处理! 我们还要留言呢?

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网