cookies前后端操作(前端二)

目录

      • 服务器端操作Cookies
        • 服务端向前台写入Cookies
        • 客户端向服务端请求,传递Cookies
      • 客户端端操作Cookies
        • 测试写
        • 测试读
        • 测试删除

服务器端操作Cookies

客户端每次请求都会附带cookies信息

服务端向前台写入Cookies

服务端代码

@WebServlet("/CookieServlet")
public class CookieServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	// Cookie 处理需要对中文进行编码与解码
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 定义一个cookie对象
		Cookie cookie = new Cookie("color", URLEncoder.encode("黄色", "UTF-8"));
		Cookie name = new Cookie("name", URLEncoder.encode("zhang三", "UTF-8"));
		// 设置过期时间为24小时,以秒为单位
		cookie.setMaxAge(60 * 60 * 24);
		name.setMaxAge(60 * 60 * 1);
		// 添加cookie
		response.addCookie(cookie);
		response.addCookie(name);
		request.getRequestDispatcher("/cookie.html").forward(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

页面展示端






提交表单测试


	

提交表单测试

名称:

价格:

数量:

测试,已经写入
cookies前后端操作(前端二)_第1张图片

客户端向服务端请求,传递Cookies

前台代码为上面页面共用html

服务端代码

@WebServlet("/ReadCookieServlet")
public class ReadCookieServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	// Cookie 处理需要对中文进行编码与解码
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		request.setCharacterEncoding("UTF-8");
		
		Map returnMap = new HashMap<>();
		Cookie[] cookies = request.getCookies();
		for (Cookie cookie : cookies) {
			String name = cookie.getName();
			String value = URLDecoder.decode(cookie.getValue(), "UTF-8");
			returnMap.put(name, value);
		}
		
		Map parameterMap = request.getParameterMap();
		for (Map.Entry entry : parameterMap.entrySet()) {
			returnMap.put(entry.getKey(), entry.getValue()[0]);
		}
		
		// 设置响应内容类型
        response.setContentType("text/html;charset=UTF-8");
		response.getWriter().println(returnMap);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

测试,点击提交
cookies前后端操作(前端二)_第2张图片
取出浏览器的cookies信息
cookies前后端操作(前端二)_第3张图片

客户端端操作Cookies

操作cookies的库
https://github.com/js-cookie/js-cookie

对应html代码





客户端读写Cookie





	
	
	

	

key:

value:

expire:

测试写

cookies前后端操作(前端二)_第4张图片

cookies前后端操作(前端二)_第5张图片

测试读

cookies前后端操作(前端二)_第6张图片

测试删除

你可能感兴趣的:(前端)