`
blaiu
  • 浏览: 130561 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Cookie

    博客分类:
  • Java
阅读更多
public class Cookies {
	public int maxAge; // 设置该COOKIE的有效期,单位为秒
    public String path; // cookie路径
    Cookie[] cookie_get = {};

    public Cookies() {
//        maxAge = -1;
          maxAge = 60*60*24*14;//两周
//    	 maxAge = 180;//两周
//        path = "/";
    }

    /**
    * Put cookie to the client
    * 
    * @param response
    * @param name
    * @param value
    */
    public void putCookie(HttpServletResponse response, String name,
            String value) {
        try {
            Cookie cookie = new Cookie(name, encode(value));
            cookie.setMaxAge(maxAge);
            cookie.setPath("/");
	        if(Common.isLinux()){
	        	cookie.setDomain(".online.com");
	        }
            response.addCookie(cookie);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
    * get cookie from client
    * 
    * @param request
    * @param name
    * @return
    */
    public String getCookie(HttpServletRequest request, String name) {
        if (cookie_get == null || cookie_get.length == 0) {
            cookie_get = request.getCookies();
        }
        String returnStr;
        returnStr = null;
        try {
            for (int i = 0; cookie_get != null && i < cookie_get.length; i++) {
                cookie_get[i].setPath(path);
                if (cookie_get[i].getName().equals(name)) {
                    //cookie_get[i].setMaxAge(-1);
                    returnStr = cookie_get[i].getValue().toString();
                    break;
                }
            }
            return decode(returnStr);
        } catch (Exception e) {
            return decode(returnStr);
        }
    }

    /**
    * 清除Cookie
    * 
    * @param response
    *            HttpServletResponse
    * @param name
    *            String
    */
    public void removeCookie(HttpServletResponse response, String name) {
        putCookie(response, name, null);
    }

    /**
    * 对给定字符进行 URL 解码
    * 
    * @param value
    *            String
    * @return String
    */
    private static String decode(String value) {
        String result = "";
        if (!isEmpty(value)) {
            try {
                result = java.net.URLDecoder.decode(value, "UTF-8");                
                result = java.net.URLDecoder.decode(value, "UTF-8");                
            } catch (UnsupportedEncodingException ex) {

            }
        }
        return result;
    }

    /**
    * 对给定字符进行 URL 编码
    * 
    * @param value
    *            String
    * @return String
    */
    private static String encode(String value) {
        String result = "";
        if (!isEmpty(value)) {
            try {
                result = java.net.URLEncoder.encode(value, "UTF-8");
                result = java.net.URLEncoder.encode(value, "UTF-8");
            } catch (UnsupportedEncodingException ex) {

            }
        }
        return result;
    }

    /**
    * 判断是否为空,为空返回true
    * 
    * @param value
    *            String
    * @return boolean
    */
    private static boolean isEmpty(String value) {
        if (value == null || value.trim().equals(""))
            return true;
        else
            return false;
    }

    /**
    * 查检二个数据是否为空,如果为空返回true
    * 
    * @param value1
    * @param value2
    * @return
    */
    public boolean isEmpty(String value1, String value2) {
        if (null == value1 || null == value2 || "".equals(value1)
                || "".equals(value2))
            return true;
        else
            return false;
    }
  }


LoginAction:

登录成功:
Cookies cookies = new Cookies();
					cookies.putCookie(response, "name", user.getName().toLowerCase().trim());
					cookies.putCookie(response, "password",user.getPassWord());



js:
如果Cookie 从在自动登录
<script type="text/javascript">
	var cook = document.cookie;
	var coo =cook.split(";");
	var userId = "";
	var password = "";
	for(var i = 0; i < coo.length; i++) {
		var content = coo[i];
		if(content.indexOf("userId")!=-1){
			userId = content.split("=")[1];
			if(userId=="\"\""){
				userId="";
			}
		}
		if(content.indexOf("password")!=-1){
			password = content.split("=")[1];
			if(password=="\"\""){
				password="";
			}
		}
	}

	function login(){
		if(userId != "" && password != ""){
			window.location = "/login.do";
		}else{
			window.location = "/web/page/login/login_name.jsp";
		}
	}


</script>
分享到:
评论

相关推荐

    cookie读写,子cookie

    在Web开发中,Cookie是一种非常重要的技术,用于在客户端和服务器之间传递状态信息。Cookie的主要功能包括用户会话管理、个性化设置保存、跟踪用户行为等。在这个“cookie读写,子cookie”主题中,我们将深入探讨...

    关于java应用cookie

    ### 关于Java应用Cookie知识点详解 #### 一、Cookie简介 Cookie是一种常用的技术,用于存储用户的访问信息。在Web开发中,服务器可以将少量的信息发送到客户端浏览器,并存储在客户端,这种信息就是Cookie。当...

    C#操作cookie,解密加密cookie

    在IT领域,尤其是在Web开发中,Cookie的管理与安全至关重要。C#作为一种广泛使用的编程语言,在处理Cookie方面提供了丰富的功能,包括对Cookie的加密与解密。本文将深入探讨如何在C#中操作Cookie,以及如何实现...

    EditThisCookie.crx cookie编辑导入导出利器

    《EditThisCookie.crx:强大的Cookie管理工具及与curl的集成》 在互联网浏览中,Cookie扮演着重要的角色,它们存储用户信息、保持登录状态、个性化网页内容等。EditThisCookie.crx是一款专为Chrome浏览器设计的强大...

    FlashCookie 不被浏览器清除的Cookie

    FlashCookie,也称为Local Shared Objects (LSO),是Adobe Flash Player为存储用户特定数据而引入的一种机制。不同于传统的HTTP Cookie,这些数据存储在用户的计算机上,不受浏览器的隐私设置或清除浏览器缓存操作的...

    Cookie将用户名和密码加密后存在客户端的Cookie当中

    var UserValue = unescape(allCookies.substring(cookie_User, cookie_UserEnd)); // 提取PwdCookie的值 cookie_Pwd += "PwdCookie".length + 1; var cookie_PwdEnd = allCookies.indexOf(";", cookie_Pwd); ...

    browser-cookie 获取浏览器cookie

    ### browser-cookie3:获取浏览器cookie #### 一、概述 `browser-cookie3` 是一个用于Python 3的库,能够帮助用户将当前浏览器中的cookies提取出来,并存储到一个`cookiejar`对象中,从而实现无需登录即可通过...

    微信小程序cookie维护插件 实现自动设置获取cookie功能

    本文将详细讲解如何使用微信小程序中的cookie维护插件,实现自动设置和获取Cookie的功能,并特别关注增加的Cookie超时处理机制。 首先,理解Cookie的基本概念。Cookie是由服务器端生成,发送到客户端(浏览器)的一...

    python cookie反爬处理的实现

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

    获取cookie非常好用的google插件

    标题中的“获取cookie非常好用的google插件”指的是在Google Chrome浏览器上的一种扩展程序,它允许用户方便地管理和操作浏览器中的Cookie数据。Cookie是网站在用户计算机上存储的小型文本文件,用于跟踪用户偏好、...

    易语言取设cookie

    在易语言中,“取设cookie”是网络编程中的一个重要概念,主要用于处理网页浏览过程中的数据存储与交互。 Cookie是在HTTP协议下,服务器发送到用户浏览器并保存在本地的一小块数据,它用于记录用户的浏览历史、登录...

    QT访问网页获取Cookie

    在QT中访问网页并获取Cookie是网络编程的一个重要部分,尤其对于需要实现自动化登录、跟踪用户状态或者进行Web服务交互的应用来说。 Cookie是一种在客户端和服务器之间传递信息的小型文本文件。服务器在响应HTTP...

    android cookie获取和设置,webView的cookie的同步

    ### Android Cookie 获取与设置以及 WebView 的 Cookie 同步 在 Android 开发中,Cookie 的管理和同步对于维护用户会话状态至关重要。特别是在使用 HttpClient 发起网络请求时,保持客户端与服务器端 Session 的...

    官方标配:jquery-cookie包括Dome

    $.cookie('the_cookie'); // 获得cookie $.cookie('the_cookie', 'the_value'); // 设置cookie $.cookie('the_cookie', 'the_value', { expires: 7 }); //设置带时间的cookie $.cookie('the_cookie', '', { expires:...

    Java 模拟cookie登陆简单操作示例

    当用户访问某个网站时,该网站可能会将 Cookie 信息写入到用户的浏览器中,以便下次用户访问该网站时能够快速识别用户的身份。 为什么需要模拟 Cookie 登陆? 在实际开发中,我们可能需要模拟用户的登陆行为,以便...

    20210820cookie万能获取助手.rar

    标题中的“20210820cookie万能获取助手.rar”暗示这是一款在2021年8月20日发布的工具,主要用于获取Web应用程序的Cookie信息。Cookie是Web服务器存储在用户浏览器上的一小段数据,用于跟踪用户状态、个性化设置以及...

    桂林老兵cookie欺骗工具

    桂林老兵Cookie欺骗工具是一款在IT安全领域中被广泛讨论的工具,主要用于网络安全研究和测试。这个工具因其在Cookie管理及欺骗技术方面的应用而知名,尤其对于理解Web安全和防御策略的专家来说,它是一个重要的学习...

    cookie接口 实现本地或客户端的cookie的创建和读取

    它的关键方法包括`getName()`(获取Cookie的名称)、`getValue()`(获取Cookie的值)、`setComment()`(设置Cookie的注释)、`setMaxAge()`(设置Cookie的有效期)以及`setPath()`和`setDomain()`(分别用于指定...

    Extjs 关于 cookie的操作

    ### Extjs 中关于 Cookie 的操作 #### 一、引言 在 Web 开发中,Cookie 是一种常用的数据存储方式,用于保存用户的一些基本信息或者状态,从而实现网站的个性化设置或登录状态保持等功能。Extjs 作为一种强大的 ...

    C# Cookie提取工具

    【C# Cookie提取工具】是一种基于C#编程语言开发的应用程序,主要功能是方便用户从指定的网站中高效地提取Cookie信息。这个工具对于开发者、网络分析人员或需要频繁处理网站登录状态的人来说非常实用,因为它能提高...

Global site tag (gtag.js) - Google Analytics