下面的代码目的是一段 如果用户名和密码都匹配的时候,如果密码为初始密码则必须跳转到修改密码的页面重置密码,如果密码不是初始密码,则正常访问页面。
目前的问题是,似乎中间判断密码为初始密码为1然后跳转重置页面的根本没有用,我如果使用密码为1的账户来登录
不一样是跳转到正常页面,也就是,只要用户名密码匹配,不管密码是不是初始密码1
都只执行这一句:     response.sendRedirect("main_xy.jsp?username=username");<% 
       if (chkRst.startsWith("登录成功"))
        {
         session.setAttribute("username",username);// 用户名存入session
         session.setAttribute("userpassword",userpassword);//密码存入session
         if (password=="1") //数据库中用户初始密码都为1
         {
         response.sendRedirect("rest_pw.jsp");//如果密码为1跳转到这个页面重设密码
         }
           else
           response.sendRedirect("main_xy.jsp?username=username");//如果不为1正常访问主页面
}         %>

解决方案 »

  1.   

    这个问题比较低级,大家都不愿回。希望楼主下次不会有这样的问题
    password=="1"对象是比较地址的,使用"1".equals(password)
      

  2.   

    对,字符串判断相等用 equals
      

  3.   

    对象变量里存的是对象的引用,“==”比较的是两个变量是否指向同一个对象,String的内容比较用equals方法java里太基础的知识了。50分多了点。
      

  4.   

    password=="1"对象是比较地址的,使用"1".equals(password)equals
      

  5.   

    学好基础再学java web现在那么多人都不学基础吗 基础中好像老多讲==和equals的区别