为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输入用户名后登陆成功查看用户信息用户名变成了和密码一样的字符?

这个是查看用户信息

<h1>查看用户信息</h1>

  <hr>

  <%

  request.setCharacterEncoding("utf-8");

  String username = "";

  String password = "";

    Cookie[] cookies = request.getCookies();

     if(cookies!=null && cookies.length>0)

     {

     for(Cookie c : cookies)

     {

        if(c.getName().equals("username") || c.getName().equals("password"))

        {

            username = URLDecoder.decode(c.getValue(),"utf-8");

            password = URLDecoder.decode(c.getValue(),"utf-8");

        }

     }

     }

   %>

  <br>

  <br>

  <br>

  用户名:<%=username %><br>

  密码:<%=password %><br>



这个是登录成功验证页面

<h1>登陆成功</h1>

  <hr>

  <br>

  <br>

  <br>

  <%

  

  request.setCharacterEncoding("utf-8");

  //首先判断用户是否选择了记住登录状态

  String[] isUseCookie =request.getParameterValues("isUseCookie");

  if(isUseCookie!=null && isUseCookie.length>0)

  {

     //把用户名和密码保存在Cookie对象里面

     String username = URLEncoder.encode(request.getParameter("username"),"utf-8");

     //使用URLEncoder解决无法在Cookie当中保存字符串问题

     String password = URLEncoder.encode(request.getParameter("password"),"utf-8");

     

     

     

     

     Cookie usernameCookie = new Cookie("username",username);

     Cookie passwordCookie = new Cookie("password",password);

     usernameCookie.setMaxAge(864000);//设置最大生存期限为十天

     passwordCookie.setMaxAge(864000);

     response.addCookie(usernameCookie);

     response.addCookie(passwordCookie);

  }

  else

  {

     Cookie[] cookies = request.getCookies();

     if(cookies!=null && cookies.length>0)

     {

     for(Cookie c : cookies)

     {

        if(c.getName().equals("username") || c.getName().equals("password"))

        {

            c.setMaxAge(0);//设置Cookie失效

            response.addCookie(c);

            

        }

     }

     }

  }

   %>

  <a href="users.jsp" target="_blank">查看用户信息</a>


这个是用户登录页面

 <h1>用户登录</h1>

  <hr>

   <%

   request.setCharacterEncoding("utf-8");

  String username = "";

  String password = "";

    Cookie[] cookies = request.getCookies();

     if(cookies!=null && cookies.length>0)

     {

     for(Cookie c : cookies)

     {

        if(c.getName().equals("username") || c.getName().equals("password"))

        {

            username = URLDecoder.decode(c.getValue(),"utf-8");

            password = URLDecoder.decode(c.getValue(),"utf-8");

        }

     }

     }

   %>

  <form name="loginForm" action="dologin.jsp" method="post">

  <table>

  <tr>

  <td>用户名:</td>

  <td><input type="text" name="username" value="<%= username%>"/></td>

  </tr>

  <tr>

  <td>密码:</td>

  <td><input type="password" name="password" value="<%= password%>"/></td>

  </tr>

  <tr>

  <td colspan="2"><input type="checkbox" name="isUseCookie" checked="checked" >十天内记住我的登录状态</td>

  </tr>

  <tr>

  <td colspan="2" align="center"><input type="submit" value="登录"/><input type="reset" value="取消"/></td>

  </tr>

  </table>


正在回答

1 回答

        if(c.getName().equals("username") || c.getName().equals("password"))

        {

            username = URLDecoder.decode(c.getValue(),"utf-8");

            password = URLDecoder.decode(c.getValue(),"utf-8");

        }

这个不能写在一起 如下:

       if(c.getName().equals("username")) {
        username = URLDecoder.decode(c.getValue(),"utf-8");
       }
       if(c.getName().equals("password")) {
        password = c.getValue();
       }

2 回复 有任何疑惑可以回复我~
#1

努力GOGO 提问者

非常感谢!牛人
2015-12-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么输入用户名后登陆成功查看用户信息用户名变成了和密码一样的字符?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信