• Cookie概念


    Cookie时用来存储客户端的信息,一次会话:从浏览器的打开访问,然后关闭浏览器这就是属于一次会话!

    Cooike不能存中文!必须时字符串的形式!

    服务器端向客户端发送一个cookie

    创建Cookie:

    Cookie cookie = new Cookie(String cookieName,String cookieValue);

    Cookie可以设置持久化时间:

    cookie.setMaxAge(int seconds); 秒

    注意:设置了时间以后,Cookie会从启动命令的时候开启,开始计算时间,当时间到时,就会删除Cookie信息,就算客户端没有关闭也会删除Cookie信息,单位为秒

    删除客户端Cookie信息 把这个持久化时间改为0 那么就相当于覆盖以前的Cookie

    package com.oracle.demo01;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class SendCookieServlet extends HttpServlet {
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		//创建Cookie对象(用来存储客户端的信息)
    		Cookie cookie=new Cookie("goods","naiping");
    		//设置持久化时间(在发送以前)
    		cookie.setMaxAge(60*2);
    		//设置Cookie携带路径
    		/*cookie.setPath("/WEB07/SendCookieServlet");*/
    		//发送Cookie到客户端
    		response.addCookie(cookie);
    	}
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
    }
    

     设置携带路径:

    cookie.setPath(String path);

    如果不设置携带路径的话,Cookie会显示整个WEB应用所在的路径都会携带Cookie信息,如果设置了则写到哪个目录下,就会显示哪个目录下的Cookie信息

    cookie.setPath("/WEB16");

      代表访问WEB16应用中的任何资源都携带cookie

    cookie.setPath("/WEB16/cookieServlet");

      代表访问WEB16中的cookieServlet时才携带cookie信息

    服务器端请求接收客户端所携带的cookie信息:

    cookie信息时以请求头的方式发送到服务器

    Cookie[] cookie=request.getcookies();

    通过遍历的形式,通过cookie名称找到对应的值

    package com.oracle.demo01;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class GetCookieServlet extends HttpServlet {
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		//获取Cookie数组
    		Cookie[] cookies=request.getCookies();
    		//遍历Cookie数组 通过Cookie名获取Cookie值
    		for(Cookie c:cookies){
    			if(c.getName().equals("goods")){
    				System.out.println(c.getValue());
    			}
    		}
    	}
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
    }
    

      

  • 相关阅读:
    TensorFlow函数(七)tf.argmax()
    Harbor 1.8.0 仓库的安装和使用
    Rust基础笔记:闭包
    docker-compose搭建单机多节点es + kibana
    Filebeat+Logstash+Elasticsearch测试
    filebeat 笔记
    ELK笔记
    manjaro i3 配置笔记
    manjaro 下golang protobuf的使用
    go 算法
  • 原文地址:https://www.cnblogs.com/awdsjk/p/11145820.html
Copyright © 2020-2023  润新知