jsp 登录时密码比较

来源:百度知道 编辑:UC知道 时间:2024/05/10 21:01:20
if (request.getParameter("ym").equals(session.getAttribute("rand")))
{
String sql = "select name,password from users where name='"
+ request.getParameter("xm") + "'";
ResultSet rs = db.myQuery(sql);
rs.next();
//out.print(rs.getString(2));
if (rs.getRow() > 0)
{
if (rs.getString(2).equals(request.getParameter("pwd")))
{//登录成功
session.setAttribute("user", request.getParameter("xm"));//设置session
response.sendRedirect("index.jsp");
}
else
{
out.print("<script language=\"javascript\">alert(\"密码错误!!\");</script>");
response.sendRedirect("login.jsp");
}
}
else
{
out.print("<script language=\"java

首先 debug看看rs.getString(2)取出来的是什么
和request.getParameter("pwd")取出来的是什么
最好把他们现存到两个string变量中再比较。
另外可以trim一下看看。

这种问题,有时候是字符编码的问题,你数据库中的用户名和密码是不是包含汉字,你把他们全改成英文试一下!

<%
Connection con=null;
Statement stmt=null;
ResultSet rs=null;

request.setCharacterEncoding("GB2312");
String userName=request.getParameter("userName");
String password=request.getParameter("password");

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
con=DriverManager.getConnection("jdbc:odbc:admin","","");
stmt=con.createStatement();
rs=stmt.executeQuery("select userName,password from admin");
while(rs.next()){
String str1=rs.getString(1);
String str2=rs.getString("password");
if((userName.equals(str1))&&(password.equals(str2))){
response.sendRedirect("./index.jsp");
}else{