zoukankan      html  css  js  c++  java
  • Cookie的使用

     Cookie由服务器端生成,发送给客户端浏览器,浏览器会将其保存成某个目录下的文本文件。

    Cookie的工作原理:

          当用户在浏览网站时,Web服务器会将一些资料存放在客户端,这些资料
         包括用户在浏览网站期间输入的文字或一些选择记录。当用户下一次访问
         该网站的时候,服务器会从客户端查看是否有保留下来的Cookie信息,
             然后依据Cookie的内容,呈现特定的页面内容给用户。

    Cookie与session的比较:
       Session是在服务器端保存用户信息,Cookie是在客户端保存用户信息。
       Session中保存的是对象,Cookie保存的是字符串。
       Session对象随会话结束而失效,Cookie可以长期保存在客户端。
       Cookie通常用于保存不重要的用户信息,重要的信息使用session保存。

    Cookie的应用:

       在JSP使用Cookie的步骤:
          1.在一个JSP页面创建Cookie对象
            Cookie cookie=new Cookie("user",URLEncoder.encode(username,"UTF-8"));
          2.写入Cookie
            cookie.setMaxAge(60*60);//有效期
            response.addCookie(cookie);//服务器发出的方法所以用response
          3.在另一个JSP页面读取Cookie
             Cookie[] cookies=request.getCookies();
                   String user="";
                     for(int i=0;i<cookies.length;i++){
                      if(cookies[i].getName().equals("user")){
                        user=URLDecoder.decode(cookies[i].getValue(),"UTF-8");
                     }
                   }

        示列:

            在另一个JSP页面读取Cookie,写入Cookie。

      

    <%
    request.setCharacterEncoding("UTF-8");
    String username=request.getParameter("username");
    String password=request.getParameter("password");
    if(username.equals("系统管理员") && password.equals("123")){
        Cookie cookie=new Cookie("user",URLEncoder.encode(username,"UTF-8"));
        cookie.setMaxAge(60*60);
        response.addCookie(cookie);
        session.setAttribute("user",username);
        response.sendRedirect("index.jsp");
        //out.print("恭喜你,登录成功!<br/>");
        //out.print("用户名:" + username + "<br/>");
        //out.print("密码:" + password + "<br/>");
    }else{
        request.setAttribute("message", "登录失败,用户名或密码输入不正确!");
        request.getRequestDispatcher("userLogin.jsp").forward(request, response);
    }
    
    %>

         在另一个JSP页面读取Cookie。

           <%
                Cookie[] cookies=request.getCookies();
                String user="";
                for(int i=0;i<cookies.length;i++){
                    if(cookies[i].getName().equals("user")){
                        user = URLDecoder.decode(cookies[i].getValue(),"UTF-8");
                    }
                }
                Object o=session.getAttribute("user");
                if(o==null){
                    //显示用户名密码,可以在此登录
                %>                
                    <label>用户名</label>
              <input type="text" name="username"
              value="<%=user%>"/><label>密码</label>
              <input type="text" name="password" />
              <button>登录</button> <% }else{ //显示“欢迎你,XXX” out.print("欢迎你,"+o.toString()); %> &nbsp;<a href="userLogout.jsp">注销</a> <% } %>

          

  • 相关阅读:
    Qt简介以及如何配置Qt使用VS2010进行开发
    QT里重定向另外一个控制台程序的输出
    windows下制作PHP扩展
    20款Notepad++插件下载和介绍
    音频编码协议介绍
    用 PHP 读取文件的正确方法
    QT进程间通信
    关于YUV色彩空间
    解析xml 四种
    System.getProperty
  • 原文地址:https://www.cnblogs.com/fifiyong/p/5931343.html
Copyright © 2011-2022 走看看