zoukankan      html  css  js  c++  java
  • 关于Cookie的相关知识点以及使用方法

    首先介绍cookie的一些方法

                  response.addCookie(Cookie cookie)是将一个cookie对象传入客户端。

                  Cookie cookie=new Cookie(String name,String value):构造一个cookie对象

                  request.getCookies():得到所有的cookie对象

                 cookie.getName():得到此cookie对象的名字

                 cookie.getValue(String name):得到对应名称的cookie的值

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
        <%@ page import="java.net.URLDecoder" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>取出Cookie</title>
    </head>
    <body>
    <%! String name=""; %>
    <%
        Cookie[] cookies=request.getCookies();
        if(cookies!=null){
            for(Cookie c:cookies){
                if(c.getName().equals("name")){
                    name=URLDecoder.decode(c.getValue(),"utf-8");//对字符串进行解码,类似于字符串的解码
                }
            }
        }
    %>
    <form name="form" action="deal.jsp" method="post">
       <%
            if("".equals(name)){
       %>
            <strong>欢迎初次登录</strong>
      <%
            }else{
       %>
             <strong>欢迎再次登录,已保存上次登录用户名</strong>
       <%} %><br>
       请输入姓名:<input type="text" name="name" value="<%=name%>">
       <input type="submit" value="提交">
       
    </form>
    </body>
    </html>

    一、向客户程序发送cookie

    1、创建cookie对象

    Cookie c = new Cookie(“userId”,”landril”);

    2、设置最大时效,默认该cookie是存储在浏览器的内在中,用户关闭浏览器则被删除,下面的方法是将cookie存储在硬盘上。

    c.setMaxAge(60*60*24);//一天,如果设置为0则是删除该cookie

    3、将cookie放入到HTTP响应报头,可以使用HttpServletResponse的addCookie方法,此方法不修改之前指定的Set-Cookie报头,而是创建新的报头。

    response.addCookie(c);

    4、

    Cookie rtn =newCookie("repeat"," true");

    rtn.setMaxAge(60*60*24*365);

    response.addCookie(rtn);

    cookie.setPath(“/”);指定服务器的所有页面都应该收到该cookie

    注意:设置cookie的步骤为创建cookie对象,设置最大时效,将cookie放入响应报头,即发送到客户程序,记住一定要将cookie发送到客户程序

    二、从客户端读取cookie

    1、调用HttpServletRequest的getCookies得到一个Cookie对象的数组

    2、对数组进行循环,调用cookie的getName方法,获取具体的cookie的值

    Cookie[] cookies = request.getCookies();

    if(cookies !=null){

    for(inti = 0; i < cookies.length; i++) {

    Cookie c = cookies[i];

    if((c.getName().equals("repeat")) && (c.getValue().equals("true"))) {

    newa=false;

    break;

    }

    }

    }

    三、cookie的常用方法

    1、setComment()/getComment():指定或查找与该cookie相关的注释

    2、setDomain()/getDomain():设置或读取该cookie适用的域

    3、setMaxAge()/getMaxAge():操作cookie保留的时间,多长时间后过期

    4、getName():读取cookie的名称

    5、setPath()/getPath():设置或取得cookie适用的路径

    cookie.setPath(“/”);指定服务器的所有页面都应该收到该cookie

    6、setSource()/getSource():指定cookie是否只能通过加密连接(SSL)

    默认false,表示cookie适用所有连接

    7、setValue()/getValue():指定或获取cookie的值

     

  • 相关阅读:
    实用的网站记录
    XML记一次带命名空间的xml读取
    WEB项目挂载到IIS session过期
    【EF】CodeFirst Fluent API使用记录
    【Unity】微软的一款依赖注入组件
    【AutoFac】依赖注入和控制反转的使用
    【JavaScript】封装实用方法【持续积累】
    【Config】类库读取自己的配置文件,配置文件的扩展
    【c#】队列(Queue)和MSMQ(消息队列)的基础使用
    0、Java配置----JDK开发环境搭建及环境变量配置
  • 原文地址:https://www.cnblogs.com/dazhi151/p/12332441.html
Copyright © 2011-2022 走看看