Java后端Cookie實(shí)現(xiàn)(時(shí)間戳)代碼實(shí)例
我們來簡(jiǎn)單實(shí)現(xiàn)一個(gè)cookie。
一、簡(jiǎn)單介紹
Cookie 是一些數(shù)據(jù), 存儲(chǔ)于你電腦上的文本文件中。
當(dāng) web 服務(wù)器向?yàn)g覽器發(fā)送 web 頁(yè)面時(shí),在連接關(guān)閉后,服務(wù)端不會(huì)記錄用戶的信息。
Cookie 的作用就是用于解決 "如何記錄客戶端的用戶信息":
- 當(dāng)用戶訪問 web 頁(yè)面時(shí),他的名字可以記錄在 cookie 中。
- 在用戶下一次訪問該頁(yè)面時(shí),可以在 cookie 中讀取用戶訪問記錄

(博客園cookie界面)
二、簡(jiǎn)單實(shí)現(xiàn)
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("您上一次訪問時(shí)間為:");
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.設(shè)置web-xml里面加入 servlet注冊(cè)和映射
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.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"
version="4.0"
metadata-complete="true">
<servlet>
<servlet-name>cookie</servlet-name>
<servlet-class>com.lei.CookieDemo01</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>cookie</servlet-name>
<url-pattern>/cookie</url-pattern>
</servlet-mapping>
</web-app>
三、運(yùn)行效果
第一次cookie數(shù)組為空 不顯示登陸時(shí)間
按理說應(yīng)該會(huì)顯示else里面的內(nèi)容first time come to this website!
但是顯示的是

只是因?yàn)橄旅娴牡诙垐D 是因?yàn)闉g覽器(我的是edge瀏覽器)默認(rèn)還有一個(gè)cookie
也就是說我們第一次在執(zhí)行頁(yè)面(如果是從8080頁(yè)面輸入url跳轉(zhuǎn)的)時(shí) 有別的cookie存在
第二次才會(huì)顯示


以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
云IDE:Eclipse Che:Eclipse下一代IDE(推薦)
這篇文章主要介紹了云IDE:Eclipse Che:Eclipse下一代IDE,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
淺談Java HttpURLConnection請(qǐng)求方式
這篇文章主要介紹了淺談Java HttpURLConnection請(qǐng)求方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Java實(shí)現(xiàn)JSP在Servelt中連接Oracle數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了Java實(shí)現(xiàn)JSP在Servelt中連接Oracle數(shù)據(jù)庫(kù)的方法,需要的朋友可以參考下2014-07-07
Java中CyclicBarrier和CountDownLatch的用法與區(qū)別
CyclicBarrier和CountDownLatch這兩個(gè)工具都是在java.util.concurrent包下,并且平時(shí)很多場(chǎng)景都會(huì)使用到。本文將會(huì)對(duì)兩者進(jìn)行分析,記錄他們的用法和區(qū)別,感興趣的可以了解一下2021-08-08
Java設(shè)計(jì)模式中的裝飾器模式簡(jiǎn)析
這篇文章主要介紹了Java設(shè)計(jì)模式中的裝飾器模式簡(jiǎn)析,裝飾模式能夠?qū)崿F(xiàn)動(dòng)態(tài)的為對(duì)象添加功能,是從一個(gè)對(duì)象外部來給對(duì)象添加功能,通常給對(duì)象添加功能,要么直接修改對(duì)象添加相應(yīng)的功能,要么派生對(duì)應(yīng)的子類來擴(kuò)展,抑或是使用對(duì)象組合的方式,需要的朋友可以參考下2023-12-12
Spring Boot整合Swagger測(cè)試api構(gòu)建全紀(jì)錄
這篇文章主要給大家介紹了關(guān)于Spring Boot整合Swagger測(cè)試api構(gòu)建的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
java 用遞歸獲取一個(gè)目錄下的所有文件路徑的小例子
還是日志的問題,log4j生成的日志文件,自動(dòng)保存到月份所在的文件夾中,需要獲取到所有的日志文件,包括文件夾2013-09-09
No ‘Access-Control-Allow-Origin‘ header is&nb
這篇文章主要介紹了No ‘Access-Control-Allow-Origin‘ header is present跨域及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02

