我是靠谱客的博主 温柔小海豚,最近开发中收集的这篇文章主要介绍《JavaWeb---利用cookie记录访问的时间》,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

package com.fenghuo.cookie;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MyCookie extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		//解决乱码问题
		response.setCharacterEncoding("UTF-8");//定义何种编码
		response.setContentType("text/html;charset=UTF-8");//告诉浏览器以何种编码打开
		
		PrintWriter out = response.getWriter();//得到response输出流
		out.print("<a href='/myweb/servlet/ClearCookie'>清除上次访问时间</a><br/>");
		out.print("您上次访问的时间是:");
		
		//获得用户的时间cookie
		Cookie[] cookies = request.getCookies();
		
		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 date = new Date(cookieValue);
				//以我们中国时间格式写到response流中,以便服务器写给浏览器
				out.print(date.toLocaleString());
			}
		}
		//给用户回送最新访问时间
		//如果两个cookie的名字,MaxAge,Path相同后者会覆盖前者
		Cookie cookie = new Cookie("lastAccessTime", System.currentTimeMillis()+"");
		cookie.setMaxAge(1*30*24*3600);
		cookie.setPath("/myweb");
		
		//将定义好的cookie加到response对象中
		response.addCookie(cookie);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doGet(request, response);
	}

}
package com.fenghuo.cookie;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ClearCookie extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		//定义一个相同的cookie将MaxAge(cookie有效时间)设为0
		Cookie cookie = new Cookie("lastAccessTime", System.currentTimeMillis()+"");
		cookie.setMaxAge(0);
		cookie.setPath("/myweb");
		response.addCookie(cookie);
		
		//重定向到MyCookie的Servlet中,刷新数据
		response.sendRedirect("/myweb/servlet/MyCookie");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doGet(request, response);
	}
}


最后

以上就是温柔小海豚为你收集整理的《JavaWeb---利用cookie记录访问的时间》的全部内容,希望文章能够帮你解决《JavaWeb---利用cookie记录访问的时间》所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部