我发布一个JAVAWEB       留言板
发布后第一次看的到,刷新就永远是错误了。(index。jsp刷新就错误,process.jsp偶尔能成功留言,大多时候不可以)
要重新发布才能看到。请问是什么原因呢
index.jsp<%@ page contentType="text/html;charset=gb2312" %>
<%@ page language="java" import="java.sql.*,javax.sql.*,javax.naming.*,org.ch08.util.*" pageEncoding="gb2312"%>
<html>
<head>
<title>网上书店留言板</title>
</head>
<body>
<a href="say.html">我要留言</a><br>
<%
            Connection con=null;
            con=DB.getConnection();
            
            //创建可滚动的结果集。
            Statement stmt=null;
            ResultSet rs=null;
            String sql="select * from guestbook order by gst_time desc";
stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY );
rs=stmt.executeQuery(sql);

//移动游标到结果集的最后一行。
rs.last();

//得到当前行的行数,也就得到了数据库中留言的总数。
int rowCount=rs.getRow();
if(rowCount==0)
{
out.println("当前没有任何留言!");
return;
}
    else
    {
%>
        共有<strong><%=rowCount%></strong>条留言&nbsp;&nbsp;&nbsp;&nbsp;
<%        
    }

String strCurPage=request.getParameter("page");

//表示当前的页数。
int curPage;

if(strCurPage==null)
curPage=1;
else
curPage=Integer.parseInt(strCurPage);

//定义每页显示的留言数。
int countPerPage=5;

//计算显示所有留言需要的总页数。
int pageCount=(rowCount+countPerPage-1)/countPerPage;

//移动游标到结果集中指定的行。如果显示的是第一页,curPage=1,
//游标移动到第1行。
rs.absolute((curPage-1)*countPerPage+1);

    //如果是第1页,则显示不带链接的文字,如果不是第1页,
    //则给用户提供跳转到第一页和上一页的链接。
if(curPage==1)
{
%>
        第一页&nbsp;&nbsp;&nbsp;&nbsp;
        上一页&nbsp;&nbsp;&nbsp;&nbsp;
<%
}
else
{
%>
        <a href="index.jsp?page=<%=1%>">第一页</a>
        &nbsp;&nbsp;&nbsp;&nbsp;
        <a href="index.jsp?page=<%=curPage-1%>">上一页</a>
        &nbsp;&nbsp;&nbsp;&nbsp;
<%
}
//如果当前页是最后一页,则显示不带链接的文字,如果不是最后一页,
//则给用户提供跳转到最后一页和下一页的链接。
if(curPage==pageCount)
{

%>
        下一页&nbsp;&nbsp;&nbsp;&nbsp;
        最后页&nbsp;&nbsp;&nbsp;&nbsp;
<%
}
else
{
%>
        <a href="index.jsp?page=<%=curPage+1%>">下一页</a>
        &nbsp;&nbsp;&nbsp;&nbsp;
        <a href="index.jsp?page=<%=pageCount%>">最后页</a>
        &nbsp;&nbsp;&nbsp;&nbsp;
<%
}
   
int i=0;

//以循环的方式取出每页要显示的数据,因为在前面针对要显示的页数,
//调用了rs.absolute((curPage-1)*countPerPage+1);
//所以是从游标所在的位置取出当前页要显示的数据。
while(i<countPerPage && !rs.isAfterLast())
{
out.println("<hr color=\"blue\" size=\"2\"><br>");
out.println("用户名:"+rs.getString("gst_user"));
out.println("&nbsp;&nbsp;");

Timestamp ts=rs.getTimestamp("gst_time");
long lms=ts.getTime();
Date date=new Date(lms);
Time time=new Time(lms);

out.println("留言时间:"+date+" "+time);

out.println("&nbsp;&nbsp;");
out.println("用户IP:"+rs.getString("gst_ip")+"<br>");
out.println("主题:"+rs.getString("gst_title")+"<br>");
out.println("内容:"+rs.getString("gst_content"));
i++;
rs.next();
}
if(rs!=null)
{
rs.close();
}
rs=null;
if(stmt!=null)
{
stmt.close();
}
stmt=null;
if(con!=null)
{
con.close();
}
con=null;
%>
</body>
</html>process.jsp
<%@ page language="java" import="java.util.*,java.sql.*,javax.sql.*,javax.naming.*,org.ch08.util.*" pageEncoding="gb2312"%>
<%@ include file="util.jsp" %>
<%
request.setCharacterEncoding("gb2312");

String name=request.getParameter("name");
String title=request.getParameter("title");
String content=request.getParameter("content");

if(null==name || null==title || null==content)
{
    response.sendRedirect("index.jsp");
return;
}

name=toHtml(name.trim());
title=toHtml(title.trim());
if(name.equals("") || title.equals(""))
{
response.sendRedirect("say.html");
return;
}
content=toHtml(content.trim());
String fromIP=request.getRemoteAddr();

    Connection con=DB.getConnection();
String sql="insert into guestbook(gst_user,gst_title,gst_content,gst_ip) values(?,?,?,?)";
PreparedStatement pstmt=null;
pstmt=con.prepareStatement(sql);
pstmt.setString(1,name);
pstmt.setString(2,title);
pstmt.setString(3,content);
pstmt.setString(4,fromIP);
pstmt.executeUpdate(); if(pstmt!=null)
{
pstmt.close();
}
pstmt=null;
if(con!=null)
{
con.close();
}
con=null;
response.sendRedirect("index.jsp");
%>say.html
<center>
<form action="process.jsp" method="post">
    <table bgcolor="#B3B3FF">
      <caption>欢迎访问留言板</caption>
<tr>
<td>用户名:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>主题:</td>
<td><input type="text" name="title" size="40"></td>
</tr>
<tr>
<td>内容:</td>
<td>
<textarea name="content" rows="10" cols="40"></textarea>
</td>
</tr>
<tr>
<td><input type="submit" value="提交"></td>
<td><input type="reset" value="重填"></td>
</tr>
</table>
</form>
</center>数据库MYSQL链接 我做的是一个DB.JAVA