Tomcat中使用cookie

Tomcat中使用cookie

  • cookie是用来处理客户端发送不同请求的时候如何使用相同的参数信息

cookie的使用

  • 创建cookie对象 Cookie cookie = new Cookie(“name”, name);
  • 在response对象中添加cookie response.addCookie(cookie);
  • cookie设置生命周期,单位是秒:cookie.setMaxAge(3243600);
  • 给cookie设置固定路径(只有在请求设置的路径才发送响应的cookie)
  • 获取cookie对象 Cookie[] cookies = request.getCookies();

cookie的特点

  • cookie是保存在浏览器端的数据名称
  • cookie分类:临时cookie(默认存储在内存中,浏览器关闭,cookie失效)、持久化cookie(保存在浏览器中,当时间过期后才失效)
  • 每一个cookie对象中保存一个key=value键值对数据,想要存储多个数据,就需要创建多个cookie对象
package com.shanlei;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author: shanlei
 * @version: 1.0
 */

/**
 * cookie 用来处理客户端发送不同请求的时候如何使用相同的参数信息
 *  cookie的使用
 *     1、创建cookie对象  Cookie cookie = new Cookie("name", name);
 *     2、在response对象中添加cookie  response.addCookie(cookie);
 *     3、cookie设置生命周期,单位是秒:cookie.setMaxAge(3*24*3600);
 *     4、给cookie设置固定路径(只有在请求设置的路径才发送响应的cookie)
 *     5、获取cookie对象 Cookie[] cookies = request.getCookies();
 *  特点:
 *      1、cookie是保存在浏览器端的数据名称
 *      2、cookie分类:临时cookie(默认存储在内存中,浏览器关闭,cookie失效)、持久化cookie(保存在浏览器中,当时间过期后才失效)
 *      3、每一个cookie对象中保存一个key=value键值对数据,想要存储多个数据,就需要创建多个cookie对象
 *
 */
public class CookieServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("this is post method");
        this.doGet(request, response);

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("gbk");

        String name = request.getParameter("name");
        String age = request.getParameter("age");

        // 创建Cookie
        Cookie nameCookie = new Cookie("name", name);
        Cookie ageCookie = new Cookie("age", age);
        // 给cookie对象添加时间有效期,单位是s
        nameCookie.setMaxAge(3*24*3600);
        // 给cookie设置固定路径
        ageCookie.setPath("/cookie/age");
        // 将cookie设置到response对象中
        response.addCookie(nameCookie);
        response.addCookie(ageCookie);
        response.getWriter().write("学习cookie");
        
        // 获取cookie对象
        Cookie[] cookies = request.getCookies();
        if(cookies.length>0){
            for (Cookie cookie : cookies) {
                String name = cookie.getName();
                String value = cookie.getValue();
                System.out.println(name+":"+value);
            }
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值