十、 状态管理--Cookie

2020-11-11  本文已影响0人  真是个点子王

1. 现有问题

2.概念

3.状态管理分类

4.Cookie的使用

4.1 什么是Cookie

4.2.1 Cookie的创建

package com.qf.cookies;

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;
import java.io.IOException;


@WebServlet(value = "/cs")
public class CookieServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //1、服务器创建Cookie对象
        Cookie cookie = new Cookie("username","gavin" );

        //2、将Cookie响应给客户端
        resp.addCookie(cookie);
    }
}

4.2.2 设置Cookie的访问路径

4.2.3 设置Cookie的生命周期

4.3 获取Cookie

package com.qf.cookies;

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;
import java.io.IOException;


@WebServlet(value = "/cs")
public class CookieServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //1. 服务器创建Cookie对象
        Cookie cookie = new Cookie("username","gavin" );
        Cookie cookie2 = new Cookie("password", "123456");
        //1.1 设置Cookie的访问路径
        cookie.setPath("/Webproject_war_exploded/get");
        cookie2.setPath("/Webproject_war_exploded");
        //1.2 设置Cookie的有效期
        cookie.setMaxAge(60*60);
        cookie2.setMaxAge(60*60);
        //2. 将Cookie响应给客户端
        resp.addCookie(cookie);
        resp.addCookie(cookie2);
    }
}
// GetServle.java
package com.qf.cookies;

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;
import java.io.IOException;


@WebServlet(value = "/get")
public class GetServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 1. 通过request获取所有的cookie
        Cookie[] cookies = req.getCookies();


        // 2.通过循环遍历Cookie
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                System.out.println(cookie.getName() + ':' + cookie.getValue());
            }
        }
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

// GetServle2.java
package com.qf.cookies;

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;
import java.io.IOException;


@WebServlet(value = "/get2")
public class GetServlet2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 1. 通过request获取所有的cookie
        Cookie[] cookies = req.getCookies();


        // 2.通过循环遍历Cookie
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                System.out.println(cookie.getName() + ':' + cookie.getValue());
            }
        }
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

4.4 修改Cookie

4.5 Cookie编码与解码

5 Cookie优缺点

上一篇 下一篇

猜你喜欢

热点阅读