你应该把response.sendRedirect("login.html"); 这句写道catch块中的吧。
解决方案 »
- 怎样判断捕捉到的是什么Exception
- 开发系统一般从什么入手从个人开发经验来谈
- java 调用SQLserver存储过程 返回结果集无数据
- hibernate : Not Supported for DML Operation
- 为什么我的ME装不上呢!!
- struts+spring+hibernate中DAO类中如何自己写删除函数?
- 一个简单的hibernate 的异常
- 知道java中怎么把String 读进 BufferedInputStream 吗?
- 求助论坛的朋友了
- 请问Tomcat 5.0安装成功后怎么启动不了?
- 问个spring的简单问题
- 【高分急问】axis发送附件,soap中的resopnse应该是什么类型的?
换成这个试试
String sql = "select * from admin where username = '"+username+"' and password= '"+password+"';";
java.sql.ResultSet rs = db.executeQuery(sql);
try {
if(rs.next()){
response.sendRedirect("/house/admin/admin_manage.html");
}
else
response.sendRedirect("/house/admin/htlogin.html");
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
小菜改成上面那样判断是可以的。。但是这样还要对username,password严格过滤吧。如果是接收传来的参数和读取出来的数据库字段值来直接比较,这样就不需要对username,password进行太严格的过滤了吧?小菜的想法有错吗?大侠指点
不要转
String username=request.getParameter("username").trim();
逻辑关系错误,你至少加个ELSE或直接把这句加到CATCH块中去
boolean flag = false;
while(rs.next()){
if(username.equals(rs.getString(2).trim()) && password.equals(rs.getString(3).trim()))
flag = true;
};
if(flag==true)
response.sendRedirect("/house/admin/admin_manage.html");
else
response.sendRedirect("/house/admin/htlogin.html");
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
问题总算解决了。。感谢楼上所有的兄弟