`
Rainbow702
  • 浏览: 1062961 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类

JAVA通过Session和Cookie实现网站自动登录的技术

    博客分类:
  • web
阅读更多

本方案为我这个站点当前使用的,能用,但不保证是最先进的。
原文:http://www.java2000.net/p1010

第一步,登陆的时候一旦选择了[自动登录]的选项,则需要在登陆成功后,附加下面的代码
应为一般网站都提供保存用户名的功能,所以我把这个写到了外面。只有密码是单独处理的。
其中的host就是你的域名
login.jsp

 

        String host = request.getServerName();
        Cookie cookie = new Cookie("SESSION_LOGIN_USERNAME", username); // 保存用户名到Cookie
        cookie.setPath("/");
        cookie.setDomain(host);
        cookie.setMaxAge(99999999);
        response.addCookie(cookie);
        if (ParamUtils.getBooleanParameter(request, "savePassword")) {
          // 保存密码到Cookie,注意需要加密一下
          cookie = new Cookie("SESSION_LOGIN_PASSWORD", MD5.encode(u.getPassword()));
          cookie.setPath("/");
          cookie.setDomain(host);
          cookie.setMaxAge(99999999);
          response.addCookie(cookie);
        }

 

这样,Cookie就生成了
第二步,在用户访问网站的时候,如果检测到没有登陆,则进行下面的判断。
index.jsp

 

    String usernameCookie = null;
    String passwordCookie = null;
    Cookie[] cookies = request.getCookies();
    if (cookies != null) {
      for (Cookie cookie : cookies) {
        if ("SESSION_LOGIN_USERNAME".equals(cookie.getName())) {
          usernameCookie = cookie.getValue(); // 得到cookie的用户名
        }
        if ("SESSION_LOGIN_PASSWORD".equals(cookie.getName())) {
          passwordCookie = cookie.getValue(); // 得到cookie的密码
        }
      }
      if (usernameCookie != null && passwordCookie != null) { // 如果存在
        if(Login.checkLogin(usernameCookie ,passwordCookie)){
          // 登陆成功的处理
        }else{
           // 登陆不成功的处理
        }
      }
    }

 

是不是很简单呢?

 

原文地址: http://blog.csdn.net/java2000_net/article/details/2721644

分享到:
评论

相关推荐

    JAVA通过Session和Cookie实现网站自动登录

    java通过session和cookie实现网站的自动登录

    JAVA通过Session和Cookie实现网站自动登录的技术.txt

    JAVA通过Session和Cookie实现网站自动登录的技术.txt

    jsp cookie+session实现简易自动登录

    本文实例为大家分享了jsp cookie+session实现简易自动登录的具体代码,供大家参考,具体内容如下 关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效。 如果设置了...

    JavaWeb使用Cookie模拟实现自动登录功能(不需用户名和密码)

    不需要填写用户名和密码自动登录系统,其实现思路使用cookie模拟浏览器自动登录,对cookie实现自动登录功能感兴趣的朋友一起学习吧

    纯JSP演示Cookie自动登录(完整工程)

    纯JSP演示Cookie自动登录(完整工程。主要实现勾选自动登录后, 哪怕服务器重启后session丢失,靠客户端COOKIE仍然正常登录并刷新COOKIE。点退出登录后COOKIE失效。 现为WEB,可改造为提供android 和ios下的...

    python cookie反爬处理的实现

    Cookies的处理 作用 ...如果在请求的过程中产生了cookie,如果该请求使用session发起的,则cookie会被自动存储到session中. 案例 爬取雪球网中的新闻资讯数据:https://xueqiu.com/ #获取一个sessi

    WEB16-session&cookie-源代码.rar

    WEB16_session&cookie。 案例一、记录用户的上次访问时间---cookie 案例二、实现验证码的校验----session。 1.服务器端向客户端发送一个Cookie 1)创建Cookie: Cookie cookie = new Cookie(String cookieName,...

    java版 jquery uploadify 通过Flash实现多文件上传 IE 和FireFox 兼容

    之所以在有后台鉴权时firefox和360浏览器无法正常运行,是因为FireFox、chrome、360浏览器等支持HTML5的浏览器不会再文件上传时自动带入session信息和cookie,不共享session。所以解决方案如下: 方法一:url中紧跟...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...

    MF00617-JAVA餐厅点餐管理源码.zip

    用户退出时清空cookie,关闭浏览器cookie自动清空,用户非正常退出下,需等待20分的session失效时间后方可正常登陆,监听session的失效方法在session失效时清空对应的sessionID和用户的关系,清空 用户和session的...

    网页版记账本[java+oracle]

    实现的功能点: ...本web应用的页面是纯servlet的,用到的Java web技术: 1.Jdbc; 2.Servlet; 3.一点点cookie; 4.一点点session; 其他知识点: 1.一点点Javascript ; 2.简单的手写MVC三层开发模式;

    JAVA面试题最全集

    描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。 5.列出Jsp中包含外部文件的方式,两者有何区别。 6.说明Jsp中errorPage的作用,应用范围。 7.介绍在Jsp中如何使用JavaBeans。 8.简单介绍...

    自动化测试面试题总结.docx

    7,session和cookie的区别 8,tcp和udp的区别 9,sockect通信原理 10,post的三种请求方式 七、数据库 1,sql分类 2,数据库事务特性:ACID 3,mysql索引的类型 4,池化思想 5,redis 6,如何提高数据库运行效率 八、...

    java 面试题 总结

    EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。 SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来...

    Java常见面试题208道.docx

    69.如果客户端禁止 cookie 能实现 session 还能用吗? 70.spring mvc 和 struts 的区别是什么? 71.如何避免 sql 注入? 72.什么是 XSS 攻击,如何避免? 73.什么是 CSRF 攻击,如何避免? 七、异常 74.throw 和 ...

    史上最全java面试,103项重点知识,带目录

    69. 如果客户端禁止 cookie 能实现 session 还能用吗? 31 70. spring mvc 和 struts 的区别是什么? 31 71. 如何避免 sql 注入? 33 72. 什么是 XSS 攻击,如何避免? 33 73. 什么是 CSRF 攻击,如何避免? 33 七、...

    超级有影响力霸气的Java面试题大全文档

    EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。 SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来...

Global site tag (gtag.js) - Google Analytics