c语言sscanf函数的用法是什么
282
2023-02-14
Java后端Cookie实现(时间戳)代码实例
我们来简单实现一个cookie。
一、简单介绍
Cookie 是一些数据, 存储于你电脑上的文本文件中。
当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
Cookie 的作用就是用于解决 "如何记录客户端的用户信息":
当用户访问 web 页面时,他的名字可以记录在 cookie 中。
在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录
(博客园cookie界面)
二、简单实现
0.maven引入依赖
servlet和jsp的依赖
1.java代码编写
package com.lei;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
public class CookieDemo01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-16");
resp.setCharacterEncoding("utf-16");
PrintWriter out =resp.getWriter();
Cookie[] cookies=req.getCookies();
if(cookies!=null)
{
out.write("您上一次访问时间为:");
for(int i=0;i< cookies.length;i++)
{
Cookie cookie=cookies[i];
if(cookie.getName().equals("lastLoginTime"))
{
long lastLoginTime=Long.parseLong(cookie.getValue());
Date date=new Date(lastLoginTime);
out.write(date.toString());
}
}
}
else{
out.write("first time come to this website!");
}
Cookie cookie=new Cookie("lastLoginTime",System.currentTimeMillis()+"");
resp.addCookie(cookie);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
2.设置web-xml里面加入 servlet注册和映射
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" versihttp://on="4.0" metadata-complete="true">
xmlns:xsi="http://w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
versihttp://on="4.0"
metadata-complete="true">
三、运行效果
第一次cookie数组为空 不显示登陆时间
按理说应该会显示else里面的内容first time come to this website!
但是显示的是
只是因为下面的第二张图 是因为浏览器(我的是edge浏览器)默认还有一个cookie
也就是说我们第一次在执行页面(如果是从8080页面输入url跳转的)时 有别的cookie存在
第二次才会显示
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~