Cookie
用户打开了一个浏览器,产生了一次会话
通过会话代码cookie
往响应头中增加东西
当再次访问时,通过获得cookie(req.getCookies()),服务器通过代码会对比cookie名,获得自己需要的value
比如以下例子,往cookie存入时间,然后得到时间
一般应用:cookie就是看你有没有来过这个网站
通过这些代码增加
@WebServlet通过注解,配置Servlet
@WebServlet("/c1")
public class CookieDemo01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
//得到cookie,cookie有好几个,所以用数组
Cookie[] cookies = req.getCookies();
if(cookies!=null) {
out.write("你上一次访问的时间是");
//有很多cookie,我们要遍历找到自己的cookie
for (int i = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];
//得到cookie的名字,和后面对应,如果正确就是自己需要的cookie
if(cookie.getName().equals("lastLoginTime")){
//为了将字符串转换成long类型
long lastLoginTime = Long.parseLong(cookie.getValue());
//获得时间,转换类型
Date date = new Date(lastLoginTime);
out.write(date.toLocaleString());
}
}
}else{
out.write("这是您第一次访问本站");
}
//新建cookie
Cookie cookie = new Cookie ("lastLoginTime",System.currentTimeMillis()+"");
//设置cookie时间
cookie.setMaxAge(40*20*30);
//add增加,增加cookie
resp.addCookie(cookie);
}
CookieDemo02Servlet类
删除cookie的方法
@WebServlet("/c2")
public class CookieDemo02Servlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Cookie cookie = new Cookie ("lastLoginTime",System.currentTimeMillis()+"");
//删除cookie
cookie.setMaxAge(0);
//增加cookie
resp.addCookie(cookie);
}
pom.xml
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId></groupId>
<artifactId></artifactId>
</dependency>
</dependencies>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)