尝试自己做一个登录系统,然后出现了很多问题,解决了以后最后出现按下登录后没有跳转到指定页面的问题,代码是跟着视频学的,但是别人可以正常跳转,我这里却出错了
数据库应该是可以链接的,可以打印数据库里的内容,不知道是不是代码哪里出现了问题,以下是servlet代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userName = request.getParameter("userName");
String password = request.getParameter("userPwd");
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection connection = null;
PreparedStatement ps = null;
ResultSet executeQuery = null;
try {
String url = "jdbc:mysql://localhost:3306/root";
String user = "root";
String pwd = "jun1120";
connection = DriverManager.getConnection(url, user,pwd);
String sql = "SELECT id,userName,`password` from test where userName =? and `password` =?;";
ps = connection.prepareStatement(sql);
ps.setString(1,userName);
ps.setString(2,password);
executeQuery = ps.executeQuery();
User u = new User();
while(executeQuery.next())
{
int id = executeQuery.getInt("id");
String name = executeQuery.getString("username");
String userpwd = executeQuery.getString("password");
u.setId(id);
u.setUserName(name);
u.setPassword(userpwd);
}
if(u.getUserName()!=null)
{
System.out.println("正确");
response.sendRedirect("welcome.html");
}
else
{
System.out.println("失败");
response.sendRedirect("login.html");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
}
}