赞
踩
1 首先新建一个web项目
2根据前面文章配置好Tomcat
3 启动服务器 我用的是Google浏览器 ,服务器启动以后按着f12打开如图所示页面可以看到关于本机的一些cookie信息
4设置cookie的一些信息(如果是第一次设置那么会遇到extend HTTPServlet没有的情况,那么就是没有导包可以按照这个方法进行导包 https://blog.csdn.net/xiaozaizi666/article/details/87805564?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161088419216780255266226%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161088419216780255266226&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-87805564.first_rank_v2_pc_rank_v29&utm_term=idea%E9%87%8C%E6%B2%A1%E6%9C%89httpServlet%E6%96%B9%E6%B3%95)
package com.ly.web; 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; //使用注解 使启动页面走index.jsp @WebServlet (value = "/TestCookie") public class cookieServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //1创建cookie Cookie cookie=new Cookie("c1","cookieTest"); // 2响应给客户端 resp.addCookie(cookie); //3跳转页面 resp.sendRedirect("show.jsp"); } }
<%-- Created by IntelliJ IDEA. User: ly Date: 2021/1/17 Time: 19:28 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h1>默认界面</h1> <a href="/TestCookie">TestCookie</a> </body> </html>
<%-- Created by IntelliJ IDEA. User: ly Date: 2021/1/17 Time: 20:00 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h1>这是跳转的页面</h1> </body> </html>
启动服务器以后的界面,可以看到请求和响应的cookie已经设置好了
6在页面展示cookie信息
在show页面添加如下代码就行,如果遇到了out.print报错问题那么就是没有导包按着前面的步骤导入Tomcat.api包就解决了这个问题
<%
Cookie []cookies= request.getCookies();
if (cookies!=null){
for (int i = 0; i < cookies.length; i++) {
out.print(cookies[i].getName()+" "+cookies[i].getValue()+" -->");
}
}
%>
7删除cookie
通过设置同名Cookie的最大存活时间为0,删除Cookie是指使浏览器不再保存Cookie,使Cookie立即失效
举例:使name为username的Cookie立即失效 //1.创建一个name为username的Cookie Cookie
cookie = new Cookie(“username”, “aaa”); //2.设置Cookie的有效时间为0
cookie.setMaxAge(0);//删除cookie的关键 //3.将cookie发送给浏览器,来替换同名Cookie
response.addCookie(cookie);
Cookie的有效时间
Cookie发送给浏览器以后,浏览器并不会永久保存,也就是到了一定的时间以后浏览器会自动销毁Cookie。
Cookie的默认有效时间为一次会话(一次打开关闭浏览器的过程),我们也可以手动指定Cookie的有效时间
//setMaxAge用来设置Cookie的最大有效时间,需要int型的参数,代表有效的秒数
cookie.setMaxAge(秒数);
//当参数大于0时,会设置为指定的秒数
cookie.setMaxAge(30);
//当参数等于0时,浏览器不会保存Cookie,Cookie立即失效
cookie.setMaxAge(0);
//当参数小于0时,和不设置是一样,当前会话有效
cookie.setMaxAge(-100);
//设置一个永久有效的Cookie,并非永久,只是使Cookie的生命很长而已
cookie.setMaxAge(60602436510);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。