zoukankan      html  css  js  c++  java
  • cookie技术核心! 就是四个类的应用 搞懂这个基本上就把这个搞定了!

    他就是一个保存用户登录浏览器的一个保存数据的东西,客户浏览信息不回保存到数据库,会保存到这里

    一: 构造Cookie对象

    Cookie(java.lang.String name,java.lang.String value)

    二设置cookie

    void setPath(java.lang.String uri) : 设置cookie的有效访问路径

    void setMaxAge(int expiry); 设置cookie的有效时间

    void setValue(java.lang.String newValue):设置cookie的值

    三:Cookie 原理

    1) 服务器创建cookie 对象,吧回话数据存储到cookie对象中

      new Cookie("name","value");

    2 服务器发送cookie信息 到浏览器

    response.addCookie(cookie);//以下列子就是 你完成案例代码完了打开你的 火狐或者谷歌浏览器嗯 f12 看源码的时候就能看到了 点控制台 切记

      举列子: set-cookie:name=eric(隐藏发送了一个set-cookie名称的响应头)

    3)浏览器得到服务器发送的cookie,然后保存在浏览器端

    )4 服务器在下次访问服务器时,会待着cookie 信息

      举列子:cookie:name=eric (隐藏带着 一个叫cookie 名称的请求头)

    5: 服务器接收到 浏览器带来的cookie信息

      request.getCookies();

      以下是案例 他可以 用它当做 黑客  获取浏览器的个人信息  简单点说 就是 浏览器问你 是否记住密码 好方便下次你的登陆,在简单点说

      你去淘宝 购物 每次 给你推荐让你 看到的 都是 你曾经浏览过的 买过的相关东西。

    package jsp.com;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class servat
     */
    @WebServlet("/servat")
    public class servat extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        
        public servat() {
            super();
            
        }
    	
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		
    		//1创建cookie对象
    		Cookie cookie=new Cookie("name", "eric");
    		
    		//2把 cookie数据库发送到浏览器
    		//通过响应头发送:set-cookie名称)
    		//推荐使用这种方法,避免手动发送cookie信息
    		response.addCookie(cookie);
    		
    		//3接收浏览器发送的cookie信息
    		Cookie[] cookies=request.getCookies();
    		//注意:判断null,否则是空指针 用键和值做
    		//用if和for语句
    		if(cookies!=null)
    		{
    			for(Cookie c:cookies)
    			{
    				String name=c.getName();
    				String value=c.getValue();
    				System.out.println(name+"="+value);
    			}
    		}else{
    			System.out.println("没有cookie数据");
    		}
    		
    	}
    
    	
    	
    }
    
  • 相关阅读:
    过滤器,拦截器,监听器的区别
    Spring中的@Transactional(rollbackFor = Exception.class)属性详解
    java进阶知识--JAVA锁
    java进阶知识--23种设计模式
    java进阶知识--初识Jedis
    java进阶知识--初识redis
    java进阶知识--Nginx安装与部署
    java进阶知识--Nginx代理
    Linux常用命令
    Linux权限管理
  • 原文地址:https://www.cnblogs.com/w888/p/5223937.html
Copyright © 2011-2022 走看看