zoukankan      html  css  js  c++  java
  • Cookie简介

    原创


    Cooike对象是由服务器产生并保存到客户端(内存或文件中)的信息。

    对于Cookie对象的使用,一般需要两步操作。首先由服务器创建Cookie对象保存到客户端,然后在JSP页面或者Servlet中读取Cookie并进行处理。

    Cookie的相关方法

    方法 说明
    Cookie(String name,String value) 构造函数,创建一个Cookie对象
    void response.addCookie(Cookie c) 向客户机添加一个Cookie对象
    Cookie request.getCookies() 用于取得所有Cookie对象的数据,存放到一个数组中
    String getName()  取得Cookie对象的属性名
    String getValue() 取得Cookie对象的属性对应的属性值
    setMaxAge(int expiry) 设置cookie有效时间,以秒为单位,设置了有效时间的cookie将以文件形式保存在客户端,否则只是存储在浏览器的内存区域中
    String name="zhangsan";
    Cookie c=new Cookie("user",name);    //创建Cookie对象,对象名为user而不是c
    response.add(c);    //将Cookie对象添加到响应中,保存到客户端
    Cookie cookie[]=request.getCookies();    //获得客户端所有的Cookie对象
    for(int i=0;i<cookie.length;i++){
            if(cookie[i].getName().equals("user"){
                    out.print(cookie[i].getValue());
            }    
    }

    在一个JSP页面中创建Cookie对象保存到客户端

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'cookie1.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
          <%
              Cookie c1=new Cookie("name","zhangsan"); 
              c1.setMaxAge(60*60);
              response.addCookie(c1);
              Cookie c2=new Cookie("user","lisi");
              c2.setMaxAge(60*60);
              response.addCookie(c2);
              Cookie c3=new Cookie("account","zhaowu");
              c3.setMaxAge(60*60);
              response.addCookie(c3);
          %>
      </body>
    </html>

    无需跳转则可以在另一个JSP页面获取Cookie对象的值

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'cookie2.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
        <%
            Cookie cookie[]=request.getCookies();
            if(cookie!=null){
                out.print(cookie.length);
                System.out.println();
                for(int i=0;i<cookie.length;i++){
                    out.print(cookie[i].getValue());
                    System.out.println();
                }
            }else{
                out.print("no exist cookie");
            }
        %>
      </body>
    </html>

    22:00:06

    2018-11-16

  • 相关阅读:
    Babel的安装和使用
    ECMAScript 6 和数组的新功能
    网站首页被降权后怎么快速处理
    赫然:怎样学习seo优化技术
    浅谈互联网页面价值
    ZERO:从搜索用户来看SEO
    李彦宏:论搜索引擎三个定律
    焦大:seo该研究用户需求还是搜索算法
    GA教程:使用自定义变量来扩展高级细分
    焦大:做SEO应该研究的用户需求的方向
  • 原文地址:https://www.cnblogs.com/chiweiming/p/9971921.html
Copyright © 2011-2022 走看看