try{
// 注册 JDBC 驱动器
Class.forName(driver);
// 打开一个连接
conn = DriverManager.getConnection(url,username,password);
// 执行 SQL 查询
stmt = conn.createStatement();
String sql="SELECT USERNAME FROM USER";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
if(NAME.equals(rs.getString(1))){
response.sendRedirect("rename.jsp");
return;
}
}
rs.close();
stmt.close();
//conn.commit();
String IP=request.getRemoteAddr();
//out.println(IP);
sql = "INSERT INTO USER(USERNAME,PASSWORD,RTIME,IP) VALUES(?,password(?),?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,NAME);
ps.setString(2,PASS);
ps.setTimestamp(3, new Timestamp(new java.util.Date().getTime()));
ps.setString(4,IP);
//
session.setAttribute("name",NAME);
out.print("<a href="+"\"http://172.31.75.246/S2015150020/Prj08/ex8.jsp\">register successed !click into homepage</a>");
out.println("</body></html>");
// 完成后关闭
ps.close();
conn.close();
} //end of try
catch(SQLException se) {
// 处理 JDBC 错误
se.printStackTrace();
} catch(Exception e) {
// 处理 Class.forName 错误
e.printStackTrace();
}finally{
// 最后是用于关闭资源的块
try{
if(stmt!=null)
stmt.close();
}catch(SQLException se2){
}
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
这是一个注册功能的servlet 查询操作正常 但是插入数据失败 这是为什么呢