public class LoginServlet extends HttpServlet {

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

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");

request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
System.out.println("调用后台实现正常登录的功能:"+name+","+pwd);

//下面实现显示用户上次登录的功能
String showTime = func(request,response);
out.println(name+","+showTime);

out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}

//模块:实现显示用户上次登录的功能
private String func(HttpServletRequest request, HttpServletResponse response) {
String showTime="您最近是第一次登录!";
//所获客户端的所有cookie
Cookie cs[] = request.getCookies();
if(cs!=null){
for(Cookie c:cs){
if(c.getName().equals("loginTime")){
String str = c.getValue();
long tm = Long.parseLong(str);
Date d = new Date(tm);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
showTime = "您上次登录时间为: "+sdf.format(d);
break;
}
}
}

//不管之前是否已经存在该cookie,都要重新添加一次,因为:若没有则要添加新的,若已有则要更新旧的(把新的登录时间记录进去)
//添加一个新的 或 修改旧的 用于记录当前登录时间的cookie---loginTime
Date d = new Date();
long tm = d.getTime();
Cookie coo = new Cookie("loginTime",""+tm);
coo.setMaxAge(60*60*24*30);//秒为单位 有效期为:1个月
coo.setPath("/"); //设为项目根目录,这样我们项目中所有servlet或jsp都可以访问。但其它项目是不能访问我们的cookie的
response.addCookie(coo); //添加即是写到客户端

return showTime;
}

------------------------------------------------------------------------------------------------------------------------------------------------

<h3>用cookie技术实现显示用户上次登录时间</h3>
<form action="LoginServlet" method="post">
姓名:<input type="text" name="name"/> <br/>
密码:<input type="password" name="pwd"/> <br/>
<input type="submit" value="登录"/>
</form>

Cookie中用户登录信息的提示的更多相关文章

  1. Cookie中用户登录信息登录验证

    public class FormServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpSer ...

  2. 使用cookie保存用户登录信息

    写入Cookie HttpCookie _cookie = new HttpCookie("User"); _cookie.Values.Add("UserName&qu ...

  3. .NET跨平台之旅:ASP.NET Core从传统ASP.NET的Cookie中读取用户登录信息

    在解决了asp.net core中访问memcached缓存的问题后,我们开始大踏步地向.net core进军——将更多站点向asp.net core迁移,在迁移涉及获取用户登录信息的站点时,我们遇到 ...

  4. net mvc中实现记录用户登录信息(记住登录效果)

    现记录用户登录信息(记住登录效果) 本文讲述了使用cookies实现网站记住登录效果,效果如下: 主要实现方法,当用户选择记住登录时建立cookies保存用户名和用户密码,当用户登录不选择记住登录时, ...

  5. Oracle 中记录用户登录信息

    我们可以使用 Oracle Audit 函数来记录用户登录信息,但是如果开放了 Audit 函数将会使 Oracle 性能下降,甚至导致 Oracle 崩溃.那我们如何才能记录用户登录信息呢?其实我们 ...

  6. php使用session来保存用户登录信息

    php使用session来保存用户登录信息 使用session保存页面登录信息 1.数据库连接配置页面:connectvars.php <?php //数据库的位置 define('DB_HOS ...

  7. cookie实现用户登录验证

    cookie实现用户登录验证 1, INSTALLED_APPS中注册app03 2,在主程序中新建映射关系到app3的url中 from django.conf.urls import url,in ...

  8. Asp.Net MVC记住用户登录信息 下次登录无需输入密码

    有的时候做网站,就需要记住用户登录信息,下次再登录网站时,不用重复输入用户名和密码,原理是浏览器的cookie把状态给记住了! 那么具体是怎么实现的呢?下面博主将一部分代码贴出来,想要完整版的Demo ...

  9. 基于cookie的用户登录状态管理

    cookie是什么 先来花5分钟看完这篇文章:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Cookies 看完上文,相信大家对cookie已经有 ...

随机推荐

  1. 【PythonChallenge】Level 3

    题目为正则表达式,需要注意EXACTLY的含义,即AAAAxBBB中x不满足条件,但aAAAxBBBa却满足条件.使用perl解决此题,利用s///替换字母,循环读取整个源码文件,结果为linkedl ...

  2. Running an etcd cluster on localhost

    Purpose Run a cluster on localhost while investigating etcd Use a static cluster (So we have no exte ...

  3. Dell笔记本禁用触摸板的方法

    一·找到触摸板驱动所在的文件夹(其他型号 的本本,请自己探索一下,找到驱动在哪就行),一般 在 C:\program files\delltpad 中(若没有请下载安 装 ),如图: 二·双击 Del ...

  4. stuts2的上传(转载)

    Struts2本身并没提供上传的组件,我们可以通过调用上传框架来实现文件的上传. 一.配置上传解析器 首先要配置项目的框架,也就是倒导入"struts2- core-2.2.1.jar&qu ...

  5. Servlet能读到JSessionID,读不到其它cookie问题

    Servlet的Cookie值保存与获取 今天测试设置和获取Cookie遇到了一点小问题,很奇怪的问题: 把J2ee服务部署在本地 8080端口:访问任何一个服务时,如果客户端没有cookie,则下发 ...

  6. 点这里进入ABP系列文章总目录

    基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boi ...

  7. LightOJ 1236 Pairs Forming LCM 合数分解

    题意:求所有小于等于n的,x,y&&lcm(x,y)==n的个数 分析:因为n是最小公倍数,所以x,y都是n的因子,而且满足这样的因子必须保证互质,由于n=1e14,所以最多大概在2^ ...

  8. 跟我学机器视觉-HALCON学习例程中文详解-IC引脚测量

    跟我学机器视觉-HALCON学习例程中文详解-IC引脚测量 Lead Measurement: Example for the application of the measure object in ...

  9. 关于 unity5.3.1 录制 animation 带有 rotation 信息打包 Android 会运动错乱的问题

         Unity5.3.1 录制 animation 带有 rotation 信息打包 Android 会运动错乱的问题 ,临时解决方法是:在动画面板中点击 rotation 属性,右键选择菜单中 ...

  10. Html笔记(七)表单

    表单标签: <form> 表单标签是最常用的标签,用于与服务器端的交互. <input>:输入标签:接受用户输入信息 其中type属性指定输入标签的类型 文本框 text:输入 ...