日期:2014-05-17  浏览次数:20690 次

jsp,往数据库插入数据,为什么只能插入一次?
我很纠结,
servlet 是这样判断的,代码如下:
 else {
  //判断是否插入
  boolean isInsert=DAOfactory.getBooksDAOIMP().isInsert(books);
  if(isInsert){
  request.getRequestDispatcher("/success.jsp").forward(request, response);
  }else{
  response.setContentType("text/html;charset=GB2312"); 
  PrintWriter out=response.getWriter();
  out.println("由于系统原因,导致失败<a href=addbook.jsp>返回</a>重新添加");
  }
  }

Dao里是这样写的,代码如下:


//插入一条图书信息
public boolean isInsert(Books books)
{
boolean isInsert=false;

Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try{
conn=new DBconn().getConnection();
ps =conn.prepareStatement("insert into xinxi(name,author,sort,chubanshe,shijian,price,jianjie) values(?,?,?,?,?,?,?)");

ps.setString(1,books.getName());
ps.setString(2,books.getAuthor());
ps.setString(3,books.getSort());
ps.setString(4,books.getChubanshe());
ps.setString(5,books.getShijian());
ps.setString(6,books.getPrice());
ps.setString(7,books.getJianjie());
int i=ps.executeUpdate();
if(i>0){
isInsert=true;
}
}catch(Exception e){
System.out.println(e);
}finally{
close(conn,ps,rs);
}
return isInsert;
}
每当我插入一条数据,显示插入成功后,我又回到原来的插入页面,再进行操作,可是却显示
~~~~~~~由于系统原因,导致失败<a href=addbook.jsp>返回</a>重新添加");~~~~~~
另外就是,我必须重启服务器才能继续添加,而且也是只能插入一次,

请各位前辈帮忙~~

------解决方案--------------------
可否提供错误信息
感觉是不是重复插入数据了