Java后端Cookie实现(时间戳)代码实例

网友投稿 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">

cookie

com.lei.CookieDemo01

cookie

/cookie

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

com.lei.CookieDemo01

cookie

/cookie

三、运行效果

第一次cookie数组为空 不显示登陆时间

按理说应该会显示else里面的内容first time come to this website!

但是显示的是

只是因为下面的第二张图 是因为浏览器(我的是edge浏览器)默认还有一个cookie

也就是说我们第一次在执行页面(如果是从8080页面输入url跳转的)时 有别的cookie存在

第二次才会显示

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:IDEA main主函数如何添加args变量
下一篇:详解java调用python的几种用法(看这篇就够了)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~