cookie案例-显示用户上次访问网站的时间
来源:互联网 发布:排八字软件 编辑:程序博客网 时间:2024/04/30 13:08
cookie API:
public Cookie(String name,String value):构造函数
setValue与getValue:得到cookie的值
setMaxAge与getMaxAge:设置cookie的有效期(以秒为单位),若不设置,则cookie的有效期是浏览器进程。注:将最大时效设为0则是命令浏览器删除该cookie。(删除cookie时,path必须一致,否则不会删除)
setPath与getPath:设置cookie的有效目录。不设置,则cookie是由哪个servlet发出的,它的有效路径就是servlet所在的目录
setDomain与getDomain:设置cookie的域
getName:获得cookie的名称
案例:显示用户上次访问网站的时间,创建一个servlet:
package cn.sun;import java.io.IOException;import java.io.PrintWriter;import java.util.Date;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;//代表网站首页@WebServlet("/CookieDemo1")public class CookieDemo1 extends HttpServlet { private static final long serialVersionUID = 1L; public CookieDemo1() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); out.print("您上次访问时间是:"); //print()方法输出会自动换行 //获得用户的时间cookie Cookie cookies[]=request.getCookies(); //返回一个cookie数组 for(int i=0;cookies!=null && i<cookies.length;i++){ //遍历 if(cookies[i].getName().equals("lastAccessTime")){ //判断是不是保存时间的cookie long cookieValue=Long.parseLong(cookies[i].getValue()); //得到用户的上次访问时间,转化成一个毫秒值 Date date=new Date(cookieValue); //用毫秒值创建一个Date对象 out.print(date.toLocaleString()); //输出 } } //给用户回送最新的访问时间 Cookie cookie=new Cookie("lastAccessTime",System.currentTimeMillis()+""); //创建一个保存用户最新访问时间的cookie,其值是当前的毫秒值 cookie.setMaxAge(1*30*24*3600); //设置cookie的有效期,以秒为单位 cookie.setPath("/day07"); //设置cookie的有效路径,这里访问day07应用下所有资源 response.addCookie(cookie); //把cookie写给浏览器 } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }}
第一次运行这个servlet:因为第一次运行,所以后面没有显示上次访问的时间
第二次运行:显示了上一次访问的时间
引申:演示删除cookie:
更改CookieDemo1这个servlet,再新建一个servlet:CookieDemo2
CookieDemo1:
package cn.sun;import java.io.IOException;import java.io.PrintWriter;import java.util.Date;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;//代表网站首页@WebServlet("/CookieDemo1")public class CookieDemo1 extends HttpServlet { private static final long serialVersionUID = 1L; public CookieDemo1() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); out.print("<a href='/day07/CookieDemo2'>清除上次访问时间</a><br>"); out.print("您上次访问时间是:"); //print()方法输出会自动换行 //获得用户的时间cookie Cookie cookies[]=request.getCookies(); //返回一个cookie数组 for(int i=0;cookies!=null && i<cookies.length;i++){ //遍历 if(cookies[i].getName().equals("lastAccessTime")){ //判断是不是保存时间的cookie long cookieValue=Long.parseLong(cookies[i].getValue()); //得到用户的上次访问时间,转化成一个毫秒值 Date date=new Date(cookieValue); //用毫秒值创建一个Date对象 out.print(date.toLocaleString()); //输出 } } //给用户回送最新的访问时间 Cookie cookie=new Cookie("lastAccessTime",System.currentTimeMillis()+""); //创建一个保存用户最新访问时间的cookie,其值是当前的毫秒值 cookie.setMaxAge(1*30*24*3600); //设置cookie的有效期,以秒为单位 cookie.setPath("/day07"); //设置cookie的有效路径,这里访问day07应用下所有资源 response.addCookie(cookie); //把cookie写给浏览器 } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }}
CookieDemo2:
package cn.sun;import java.io.IOException;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;@WebServlet("/CookieDemo2")public class CookieDemo2 extends HttpServlet { private static final long serialVersionUID = 1L; public CookieDemo2() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Cookie cookie=new Cookie("lastAccessTime",System.currentTimeMillis()+""); //创建一个保存用户最新访问时间的cookie,其值是当前的毫秒值 cookie.setMaxAge(0); //设置cookie的有效期,以秒为单位 cookie.setPath("/day07"); //删除cookie时,path必须一致 response.addCookie(cookie); //把cookie写给浏览器 response.sendRedirect("/day07/CookieDemo1"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }}
运行结果:
当我们点击清除按钮时:
这样就清除了上次访问时间,即删掉了一个cookie
0 0
- cookie案例-显示用户上次访问网站的时间
- cookie案例-显示用户上次访问网站的时间
- cookie案例,显示用户上次访问时间
- javaWeb-02-cookie案例-显示用户上次访问网站的时间
- 利用Cookie显示用户上次访问网站的时间
- Cookie案例:显示上次访问的时间
- Cookie小案例:记录上次访问网站的时间
- 【Javaweb】Cookie应用——显示用户上次访问网站的时间
- cookie--显示用户上次访问时间
- cookie的介绍,实现显示用户上次访问时间
- Cookie的应用—显示用户上次访问时间
- 案例-用户上次访问时间
- cookie显示上次访问时间
- 显示用户上次的访问时间
- servlet显示上次用户访问的时间
- php使用cookie显示用户上次访问网站日期的方法
- cookie案例之显示用户上次浏览过的商品
- 利用cookie实现用户上次访问时间
- azure云上 在线将oracle单实例扩展成oracle dataguard高可用集群的详细过程
- MySQL学习
- Android6.0 权限申请封装
- Linux:内核模块实现替换系统调用的简单例子
- C# 调用TTS 并输出WAV
- cookie案例-显示用户上次访问网站的时间
- 垃圾收集器与内存分配策略
- 滴滴打车2015-2016
- Android 5.x(一) 新控件之RecyclerView,CardView,Palette的使用
- malloc realloc失败原因解析
- C++实验六—矩阵求和
- java基础 -- 多线程总结(一)--基本概念
- CentOS 7之Systemd详解之服务单元设置system.service
- XCode基本操作