我写的一个注册登陆的小程序,自己开启服务运行没毛病,我让同学连我的服务器,一点击注册按钮我这边就会报错了.是在显示用户名可用之后出错的,错误如下:
这是代码:
-----------------------------------------------------------------------
package com.heima.zhuce;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.heima.jdbcutils.JdbcUtils;
public class Zhuce extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
String username1 = request.getParameter("username");
String password1 = request.getParameter("password");
selectUsername(request,response, username1,password1);
}
public void selectUsername(HttpServletRequest request,HttpServletResponse response, String username1,String password1) {
Connection conn = null;
PreparedStatement psmt = null;
ResultSet rs = null;
try {
conn = JdbcUtils.getConnection();
System.out.println("数据库连接成功");
String sql = "select * from user where username=?";
psmt = conn.prepareStatement(sql);
psmt.setString(1, username1);
//执行sql语句
rs = psmt.executeQuery();
if (rs.next()) {
System.out.println("用户名已存在");
// response.setStatus(302);
// response.setHeader("Location", "/xiangmu1/register.html");
// response.setHeader("Location", "register.html");(访问本项目不加项目名也可以,不过最好加上)
// String path = "zhucefail.html";
request.setAttribute("fail1","用户名已存在,请重新注册");
request.getRequestDispatcher("zhucefail.jsp").forward(request, response);
// String path = request.getContextPath();
// response.sendRedirect(path+"/zhucefail.html");
}else {
System.out.println("用户名可用");
insertUser(request,response, username1, password1);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
//释放资源
JdbcUtils.clearConn(conn, psmt, rs);
System.out.println("资源已释放");
}
}
public void insertUser(HttpServletRequest request,HttpServletResponse response, String username1,
String password1) {
Connection conn = null;
PreparedStatement psmt = null;
try {
conn = JdbcUtils.getConnection();
String sql = "insert into user values(null,?,?)";
psmt = conn.prepareStatement(sql);
psmt.setString(1, username1);
psmt.setString(2, password1);
int rows = psmt.executeUpdate();
if (rows>0) {
System.out.println("insert success");
String path = request.getContextPath();
response.sendRedirect(path+"/zhuceok.html");
}else {
System.out.println("insert fail");
String path = request.getContextPath();
response.sendRedirect(path+"/zhucefail.html");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
JdbcUtils.clearConn(conn, psmt, null);
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}