大数据学习——Cookie的介绍以及使用用例

运行页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 
		Cookie的运行原理:
			1.第一次向服务器发送请求时在服务器端创建一个Cookie对象
			2.将Cookie对象发送给浏览器
			3.以后浏览器再发请求就会写到着该Cookie对象
			4.服务器根据不同的Cookie对象来区分不同的用户
	 -->
	 <a href="${pageContext.request.contextPath }/CreateCookie">创建Cookie对象</a><br>
	 <a href="${pageContext.request.contextPath }/GetCookies">获取 Cookie对象</a><br>
	 <a href="${pageContext.request.contextPath }/PersistCookies">持久化 Cookie对象</a>
</body>
</html>

Cookie的创建(Servlet):

/**
 * 负责创建Cookie的Servlet
 */
public class CreateCookie extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 1.创建Cookie对象
		//Cookie对象的名字不能使用中文,Cookie对象的只可以使用中文但需要指定字符集进行编码,
		//而获取Cookie对象还需要指定字符集进行解码
		Cookie cookie = new Cookie("user","admin");
		Cookie cookie2 = new Cookie("user2","pathCookie");
		//设置Cookie对象的有效期,默认Cookie对象的有效路径是项目的根目录
		cookie2.setPath(request.getContextPath()+"/pages");
		//2.将Cookie对象发送给浏览器
		response.addCookie(cookie);
		response.addCookie(cookie2);
		
	}

获取Cookie对象(Servlet):

/**
 * 获取Cookie对象的Servlet
 */
public class GetCookies extends HttpServlet {
	private static final long serialVersionUID = 1L;
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取Cookie对象
		Cookie[] cookies = request.getCookies();
		if(cookies != null) {
			//遍历每一个Cookie对象
			for(Cookie cookie : cookies) {
				//获取cookie对象的名字
				String name = cookie.getName();
				//获取cookie对象的值
				String value = cookie.getValue();
				System.out.println("Cookie对象的名字是:"+name);
				System.out.println("Cookie对象的值是:"+value);
			}
		}
	}

创建持久化的Cookie(Servlet):

/**
 * 持久化Cookie的Servlet
 */
public class PersistCookies extends HttpServlet {
	private static final long serialVersionUID = 1L;
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//创建Cookie对象
		Cookie cookie = new Cookie("user3","man");
		//持久换Cookie对象为1分钟
		/*
		 * setMaxAge(int age)
		 * 
		 * age > 0 : Cookie对象age秒后失败
		 * age = 0 : Cookie对象立即失败
		 * age < 0 : 默认,会话级别的Cookie对象
		 */
		cookie.setMaxAge(60);
		//将Cookie对象发送给浏览器
		response.addCookie(cookie);
		
	}
发布了37 篇原创文章 · 获赞 7 · 访问量 696

猜你喜欢

转载自blog.csdn.net/qq_40394792/article/details/104224200
今日推荐