jsp通过数据库验证用户名和密码
小弟初学JSP,在看韩顺平的用户登录管理系统时,跟着视频敲的代码,验证用户名和密码时通不过,求大神指导!有三个jsp,Login.jsp LoginCl.jsp wel.jsp.代码如下:
LoginCl.jsp:
String u=request.getParameter("username");
String p=request.getParameter("passwd");
out.println(u);
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection ct=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=users","sa","sa");
Statement sm=ct.createStatement();
//查询
ResultSet rs=sm.executeQuery("select passwd from users where userName='admin'");
//根据结果作判断
if(rs.next()){
if(rs.getString(1).equals(p)){
response.sendRedirect("wel.jsp?user="+u);
}else{
response.sendRedirect("Login.jsp");
}
}else{
response.sendRedirect("Login.jsp");
}
wel.jsp:
<body>
登陆成功!恭喜恭喜<%=request.getParameter("user") %><br>
<a href="Login.jsp">重新登录</a>
</body>
数据库名为users,里面有userName为admin的用户,密码为admin,我在登录界面输入后怎么还是会跳转到Login.jsp让我重新输入呢? jsp 数据库
[解决办法]
自己测试一下
1.取没取到页面输入的值
2.数据库能不能连接上
3.数据库连接上了的话查询出来的结果是否正确
这些都弄清楚了就应该知道问题出在哪了
[解决办法]
估计你判断那里错了。看看吧
[解决办法]
ResultSet rs=sm.executeQuery("select passwd from users where userName='admin'");
String u=request.getParameter("username");这个是用来干嘛的?
ResultSet rs=sm.executeQuery("select passwd from users where userName='admin'");
ResultSet rs=sm.executeQuery("select passwd from users where userName='u'");