发布网友 发布时间:2022-05-25 21:58
共4个回答
热心网友 时间:2024-12-04 21:34
你刚开始判断的就有问题.热心网友 时间:2024-12-04 21:35
首先不需要判断RS是否等于空。为什么直接跳转是因为你RS=NULL追答String username=request.getParameter("uaername");
String pwd=request.getParameter("pwd");
Connection conn=DBUtil.getConn();
String sql="select * from users where userName=? and password=?";
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,username);
pstmt.setString(2,pwd);
ResultSet rs = pstmt.executeQuery();
//其实是这个样子的,你这个应该是根据用户名密码查询当前用户是否可以有权限登陆那个页面。
//如果查询到数据就继续执行下去,进入到相关页面。 而一般用户名是不会重名的,只会拿一条。
//还有你这里判断是有问题的,
//不能这样做,首先进入页面考虑扩展性,不要直接判断,很不友号,如果在加一个页面改动就会很大。
//if("1".equals (rs.getString("ident"))){
//response.sendRedirect("/admin/index.jsp");
//} else {
//response.sendRedirect("/user/index.jsp");
//}
//如何可以这样修改即可,拿到相关的值进行判断进入那个页面,如果没有就返回到登陆页面。我不知道你方法全貌只好这样写。
if("1".equals (rs.getString("ident"))){
response.sendRedirect("/admin/index.jsp");
}else if("2".equals (rs.getString("ident"))){
response.sendRedirect("/user/index.jsp");
}else if("".equals (rs.getString("ident"))){
response.sendRedirect("login.jsp");
}
//你还需要把相关关闭连接方法加上,还要加个异常处理。我是拿TXT写的。就不给你加异常处理方法了
//如果这样修改还一直调入到login.jsp那么你就看数据库中ident这里面是否存在值了。
热心网友 时间:2024-12-04 21:35
都跳login说明rs.next()返回值总是fales,应该是sql语句有问题热心网友 时间:2024-12-04 21:36
到底你RS是否等于空