• cookie在登录中的应用


    使用cookie对象保存登录的用户名和密码,教程从imooc网站转载

    <%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=utf-8"%>
    <html> 
      <body>
        <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"))
                  {
                       username =  URLDecoder.decode(c.getValue(),"utf-8");
                  }
                  if(c.getName().equals("password"))
                  {
                       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>
        </form>
      </body>
    </html>

    这个是登录界面的代码

    <%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=utf-8"%>
    <html> 
      <body>
        <h1>登录成功</h1>
        <hr>
        <br>
        <% 
           request.setCharacterEncoding("utf-8");
           //首先判断用户是否选择了记住登录状态
           String[] isUseCookies = request.getParameterValues("isUseCookie");
           if(isUseCookies!=null&&isUseCookies.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);//设置最大生存期限为10天
              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>
        
      </body>
    </html>

    这个是处理登录信息的页面代码,用于业务逻辑处理

    <%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=utf-8"%>
     
      <body>
        <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"))
                  {
                       username = URLDecoder.decode(c.getValue(),"utf-8");
                  }
                  if(c.getName().equals("password"))
                  {
                       password = URLDecoder.decode(c.getValue(),"utf-8");
                  }
               }
          }
        %>
        <BR>
        <BR>
        <BR>
             用户名:<%=username %><br>
             密码:<%=password %><br>
      </body>
    </html>

    这个是登录成功页面代码

    保存账号信息后重新打开login页面会保存用户账号和密码

    这里面

    URLDecoder.decode(c.getValue(),"utf-8")这条代码可以用于保存中文账号名,

    该方法需要导入net包方可使用,

  • 相关阅读:
    dblink
    linux 查进程、杀进程、起进程
    oracle 资源统计SQL语句
    DIV+CSS+javascript 手动轮播图
    接受同步数据接口
    java String StringBuffer StringBuilder
    SpringMVC Servlet 分页查询接收参数
    WPF 开发
    收集整理的各地精品青年旅舍大全(
    Linux平台Java调用so库JNI使用例子
  • 原文地址:https://www.cnblogs.com/liuliuyiming/p/7896914.html
Copyright © 2020-2023  润新知