package cn.itcast.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;
//记住用户最近的一次访问时间:lastAccessTime=23432432432
public class CookieDemo1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
//取到指定的Cookie lastAccessTime的值,打印到页面上 out.write("您上次访问的时间是:"); Cookie cs[] = request.getCookies();
if(cs!=null)
{
for(int i=0;cs!=null&&i<cs.length;i++){
Cookie c = cs[i];
if("lastAccessTime".equals(c.getName())){
String value = c.getValue();
long time = Long.parseLong(value);
out.print(new Date(time).toLocaleString());
}
} }
else
{
out.write("这是你第一次访问!");
}
//把当前访问的时间写回去
Cookie c = new Cookie("lastAccessTime",System.currentTimeMillis()+"");
/* 设置Cookie的最大保存时间,即cookie的有效期,当服务器给浏览器回送一个cookie时,如果在服务器端没有调用setMaxAge方法设置cookie的有效期,
那么cookie的有效期只在一次会话过程中有效,用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一次会话,
当用户关闭浏览器,会话就结束了,此时cookie就会失效,如果在服务器端使用setMaxAge方法设置了cookie的有效期,比如设置了30分钟,
那么当服务器把cookie发送给浏览器时,此时cookie就会在客户端的硬盘上存储30分钟,在30分钟内,即使浏览器关了,cookie依然存在,
在30分钟内,打开浏览器访问服务器时,浏览器都会把cookie一起带上,这样就可以在服务器端获取到客户端浏览器传递过来的cookie里面的信息了,
这就是cookie设置maxAge和不设置maxAge的区别,不设置maxAge,那么cookie就只在一次会话中有效,一旦用户关闭了浏览器,那么cookie就没有了,
那么浏览器是怎么做到这一点的呢,我们启动一个浏览器,就相当于启动一个应用程序,而服务器回送的cookie首先是存在浏览器的缓存中的,当浏览器关闭时,
浏览器的缓存自然就没有了,
所以存储在缓存中的cookie自然就被清掉了,而如果设置了cookie的有效期,那么浏览器在关闭时,
就会把缓存中的cookie写到硬盘上存储起来,这样cookie就能够一直存在了。
* */ c.setMaxAge(30*24*60*60);// Integer.MAX_VALUE
c.setPath(request.getContextPath());// c.setPath("/day07");
//将cookie对象添加到response对象中,这样服务器在输出response对象中的内容时就会把cookie也输出到客户端浏览器
response.addCookie(c); //清空
out.write("<a href='/day07/servlet/CookieDemo2'>clear</a>");
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request, response);
} }

访问上面的servlet,显示如下。
aaarticlea/png;base64,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" alt="" />

点击 clear ,访问下面的servlet,清除 cookie


 package cn.itcast.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;
//清空指定的Cookie
public class CookieDemo2 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Cookie c = new Cookie("lastAccessTime", "");
c.setMaxAge(0);
/*
* setPath()
* 设置cookie的有效路径,比如把cookie的有效路径设置为"/xdp",那么浏览器访问"xdp"目录下的web资源时,
* 都会带上cookie,再比如把cookie的有效路径设置为"/xdp/gacl",
* 那么浏览器只有在访问"xdp"目录下的"gacl"这个目录里面的web资源时才会带上cookie一起访问,
* 而当访问"xdp"目录下的web资源时,浏览器是不带cookie的
*
* */
c.setPath(request.getContextPath());
response.addCookie(c);
//设置refresh响应头,让浏览器3秒后跳转到/day07/servlet/CookieDemo1
response.setHeader("Refresh", "3;URL=/day07/servlet/CookieDemo1");
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request, response);
} }

用户登录的时候,通过勾选,保存用户名,用户在下次进入该网址 登录的时候,不用再输入用户名。

	public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//读取记住的用户名
String username = "";
String checked = "";// Cookie cs[] = request.getCookies();
for(int i=0;cs!=null&&i<cs.length;i++){//用户第一次登录,cs==null
Cookie c = cs[i];//解析,客户端带过来的cookie ,取出,cookie中保存的用户名。
if("userInfo".equals(c.getName())){
String value = c.getValue();//用户名
username = value;
checked = "checked='checked'";
break;
}
} //提供登录的界面
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.write("<form action='/day07/servlet/LoginServlet' method='post'>");//测试时,用户名先不要使用中文
out.write("用户名:<input type='text' name='username' value='"+username+"'/><br/>");//将cookie 中保存 的用户名,填充到 登录 用户名 框
out.write("密码:<input type='password' name='password' value=''/><br/>");
out.write("<input type='checkbox' name='remember' "+checked+"/>记住用户名<br/>");
out.write("<input type='submit' value='登录'/>");
out.write("</form>");
}
//完成登录
//根据是否需要记住用户名来写Cookie
public class LoginServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String username = request.getParameter("username");
String password = request.getParameter("password");
String remember = request.getParameter("remember");
//验证用户名和密码
User user = UserDB.findUser(username, password);
if(user==null){
out.write("错误的用户名或密码");
return;
}
//处理cookie: userInfo=gfy
Cookie c = new Cookie("userInfo",username);//将用户名,写入cookie ,保存到浏览器端,用户下次再访问,该路径。会将 保存在浏览器端cookie,一起带过来。
c.setPath(request.getContextPath());
if(remember==null){
//删除cookie
c.setMaxAge(0);
}else{
//记住cookie
c.setMaxAge(Integer.MAX_VALUE);
}
response.addCookie(c);
out.print("恭喜!登录成功");
}

java 使用cookie记录用户上一次访问的时间 记住 用户的 登录名的更多相关文章

  1. cookie实例---显示上一次访问的时间与java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie value

    创建Cookie,名为lasttime,值为当前时间,添加到response中: 在A.jsp中获取请求中名为lasttime的Cookie: 如果不存在输出“您是第一次访问本站”,如果存在输出“您上 ...

  2. Django项目实战之用户上传与访问

    1 将文件保存到服务器本地 upload.html <!DOCTYPE html> <html lang="en"> <head> <me ...

  3. 【django】本地开发media用户上传文件访问路径找不到

    当我们在本地开发的时候,会碰到static可以访问,但是用户上传的文件设置在media下不可访问怎么办?settings配置: 接着在你的urls文件添加: from . import setting ...

  4. 记录一次centos6.4版本的VSFTP本地用户登陆的配置

    其实vsftp是一个非常常用而且简单的服务,但是假如服务不是你配置的前者没有留下参考档案,的确是件头疼的事儿,特此记录下. 首先是vsftp的安装当然安装有源码的编译和yum等 这里我选择rpm包的y ...

  5. Java之Cookie与Session

    Cookie.Session Cookie:服务端生成Cookie发给客户端用于认证 Session:服务端进行进行登记,每人有不同的Session session与cookie的区别 Cookie: ...

  6. ubuntu server vsftpd 匿名用户上传下载及目录设置

    ubuntu server vsftpd 匿名用户上传下载及目录设置 1:vsftpd服务器安装: sudo apt-get install vsftpd #安装 cd /srv/ #切换到默认匿名用 ...

  7. Chapter 2 User Authentication, Authorization, and Security(8):创建映射到登录名的数据库用户

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/38944121,专题目录:http://blog.csdn.net/dba_huangzj ...

  8. SQL SERVER服务器登录名、角色、数据库用户、角色、架构的关系

    原创链接:https://www.cnblogs.com/junfly/articles/2798023.html SQL SERVER 基础教程中关于服务器登录名.服务器角色.数据库用户.数据库角色 ...

  9. 绑定sql server数据库的用户与登录名

    服务器重装系统,重新安装上sql server,附加上以前的数据库, 然后以前是每个数据库都有一个登录用于操作该数据库,其他数据库不能操作的, 附加上数据库后该数据库安全性里的用户能看到以前建立好的用 ...

随机推荐

  1. aac格式解析

    AAC格式有以下两种: ADIF:Audio Data Interchange Format 音频数据交换格式.这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即 ...

  2. javascript优化--04高质量编码

    库和API的设计: 在参数设计中保持好的习惯:如顺序,width,height;top,right,bottom,left;如命名: 将undefined看作没有值而不要表示非特定的值: 在允许0,空 ...

  3. POJ1797 Heavy Transportation(SPFA)

    题目要求1到n点的最大容量的增广路. 听说是最短路求的,然后乱搞就A了.. 大概能从Bellman-Ford的思想,dk[u]表示从源点出发经过最多k条边到达u点的最短路,上理解正确性. #inclu ...

  4. BZOJ3807 : Neerc2011 Lanes

    左右与右左是两个独立的问题 设f[i]表示i时刻左右车道减少一条的答案 g[i]表示i时刻右左车道增加一条的答案 ans=min(f[i]+g[i+r]) 计算f[i]: 首先暴力计算出f[m+1], ...

  5. Codeforces 55D (数位DP+离散化+数论)

    题目链接: http://poj.org/problem?id=2117 题目大意:统计一个范围内数的个数,要求该数能被各位上的数整除.范围2^64. 解题思路: 一开始SB地开了10维数组记录情况. ...

  6. wp7 中 HubTile控件自定义大小。

    http://blog.csdn.net/matrixcl/article/details/7057291 (转) Toolkit(http://silverlight.codeplex.com/)中 ...

  7. TYVJ P1012 火柴棒等式 Label:枚举

    背景 NOIP2008年提高组第二题 描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法 ...

  8. Remove Duplicates from Sorted List II leetcode java

    题目: Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct ...

  9. MySQL配置SQL Assistant提示

    以前开发一直使用SQL Server数据库,提示插件采用的就是SQL Assistant,写起脚本来相当有效率.这段时间公司转型要采用MySQL数据库,试用了mysql workbench.mysql ...

  10. Java 利用Apache Commons Net 实现 FTP文件上传下载

    package woxingwosu; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...