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>
分享到:
相关推荐
在Web开发中,Cookie是一种非常重要的技术,用于在客户端和服务器之间传递状态信息。Cookie的主要功能包括用户会话管理、个性化设置保存、跟踪用户行为等。在这个“cookie读写,子cookie”主题中,我们将深入探讨...
### 关于Java应用Cookie知识点详解 #### 一、Cookie简介 Cookie是一种常用的技术,用于存储用户的访问信息。在Web开发中,服务器可以将少量的信息发送到客户端浏览器,并存储在客户端,这种信息就是Cookie。当...
在IT领域,尤其是在Web开发中,Cookie的管理与安全至关重要。C#作为一种广泛使用的编程语言,在处理Cookie方面提供了丰富的功能,包括对Cookie的加密与解密。本文将深入探讨如何在C#中操作Cookie,以及如何实现...
《EditThisCookie.crx:强大的Cookie管理工具及与curl的集成》 在互联网浏览中,Cookie扮演着重要的角色,它们存储用户信息、保持登录状态、个性化网页内容等。EditThisCookie.crx是一款专为Chrome浏览器设计的强大...
FlashCookie,也称为Local Shared Objects (LSO),是Adobe Flash Player为存储用户特定数据而引入的一种机制。不同于传统的HTTP Cookie,这些数据存储在用户的计算机上,不受浏览器的隐私设置或清除浏览器缓存操作的...
var UserValue = unescape(allCookies.substring(cookie_User, cookie_UserEnd)); // 提取PwdCookie的值 cookie_Pwd += "PwdCookie".length + 1; var cookie_PwdEnd = allCookies.indexOf(";", cookie_Pwd); ...
### browser-cookie3:获取浏览器cookie #### 一、概述 `browser-cookie3` 是一个用于Python 3的库,能够帮助用户将当前浏览器中的cookies提取出来,并存储到一个`cookiejar`对象中,从而实现无需登录即可通过...
本文将详细讲解如何使用微信小程序中的cookie维护插件,实现自动设置和获取Cookie的功能,并特别关注增加的Cookie超时处理机制。 首先,理解Cookie的基本概念。Cookie是由服务器端生成,发送到客户端(浏览器)的一...
Cookies的处理 作用 ...如果在请求的过程中产生了cookie,如果该请求使用session发起的,则cookie会被自动存储到session中. 案例 爬取雪球网中的新闻资讯数据:https://xueqiu.com/ #获取一个sessi
标题中的“获取cookie非常好用的google插件”指的是在Google Chrome浏览器上的一种扩展程序,它允许用户方便地管理和操作浏览器中的Cookie数据。Cookie是网站在用户计算机上存储的小型文本文件,用于跟踪用户偏好、...
在易语言中,“取设cookie”是网络编程中的一个重要概念,主要用于处理网页浏览过程中的数据存储与交互。 Cookie是在HTTP协议下,服务器发送到用户浏览器并保存在本地的一小块数据,它用于记录用户的浏览历史、登录...
在QT中访问网页并获取Cookie是网络编程的一个重要部分,尤其对于需要实现自动化登录、跟踪用户状态或者进行Web服务交互的应用来说。 Cookie是一种在客户端和服务器之间传递信息的小型文本文件。服务器在响应HTTP...
### Android Cookie 获取与设置以及 WebView 的 Cookie 同步 在 Android 开发中,Cookie 的管理和同步对于维护用户会话状态至关重要。特别是在使用 HttpClient 发起网络请求时,保持客户端与服务器端 Session 的...
$.cookie('the_cookie'); // 获得cookie $.cookie('the_cookie', 'the_value'); // 设置cookie $.cookie('the_cookie', 'the_value', { expires: 7 }); //设置带时间的cookie $.cookie('the_cookie', '', { expires:...
当用户访问某个网站时,该网站可能会将 Cookie 信息写入到用户的浏览器中,以便下次用户访问该网站时能够快速识别用户的身份。 为什么需要模拟 Cookie 登陆? 在实际开发中,我们可能需要模拟用户的登陆行为,以便...
标题中的“20210820cookie万能获取助手.rar”暗示这是一款在2021年8月20日发布的工具,主要用于获取Web应用程序的Cookie信息。Cookie是Web服务器存储在用户浏览器上的一小段数据,用于跟踪用户状态、个性化设置以及...
桂林老兵Cookie欺骗工具是一款在IT安全领域中被广泛讨论的工具,主要用于网络安全研究和测试。这个工具因其在Cookie管理及欺骗技术方面的应用而知名,尤其对于理解Web安全和防御策略的专家来说,它是一个重要的学习...
它的关键方法包括`getName()`(获取Cookie的名称)、`getValue()`(获取Cookie的值)、`setComment()`(设置Cookie的注释)、`setMaxAge()`(设置Cookie的有效期)以及`setPath()`和`setDomain()`(分别用于指定...
### Extjs 中关于 Cookie 的操作 #### 一、引言 在 Web 开发中,Cookie 是一种常用的数据存储方式,用于保存用户的一些基本信息或者状态,从而实现网站的个性化设置或登录状态保持等功能。Extjs 作为一种强大的 ...
【C# Cookie提取工具】是一种基于C#编程语言开发的应用程序,主要功能是方便用户从指定的网站中高效地提取Cookie信息。这个工具对于开发者、网络分析人员或需要频繁处理网站登录状态的人来说非常实用,因为它能提高...