Java操作Session与Cookie
1,Java操作Session
Java操作Session非常简单,步骤如下
1.1,在servlet中通过request获取session
HttpSession session = request.getSession(true);
true代表当前没有建立session则创建一个session,并返回这个session
false代表当前没有session,不做操作,返回null
默认为true

1.2,利用session对象设置属性或删除属性
添加
session.setAttribute("username", username);
session.setMaxInactiveInterval(60 * 30); //默认为秒
删除
session.removeAttribute("username")
2,Java操作Cookie
Java操作Cookie就有些需要注意的地方了
为此,建立一个操作cookie的工具类
CookieUtil.java
package org.guangsoft.util; import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
*
* @author guanghe
*/
public class CookieUtil
{
/**
* 设置cookie
*
* @param response
* @param key cookie名字
* @param value cookie值
* @param maxAge cookie生命周期 以秒为单位
* @param path cookie传递路径
* @param domain cookie域
*/
public static void addCookie(HttpServletResponse response,
String key, String value, int maxAge, String path, String domain)
{
Cookie cookie = new Cookie(key, value);
cookie.setPath(path);
cookie.setDomain(domain);
if (maxAge > 0)
{
cookie.setMaxAge(maxAge);
}
response.addCookie(cookie);
} /**
* 根据名字获取cookie
*
* @param request
* @param name cookie名字
* @return
*/
public static Cookie getCookieByName(HttpServletRequest request, String name)
{
Cookie cookies[] = request.getCookies();
if (cookies != null)
{
for (int i = 0; i < cookies.length; i++)
{
Cookie cookie = cookies[i];
if (name.equals(cookie.getName()))
{
return cookie;
}
}
}
return null;
}
}
调用代码:
UserService.java
public boolean setAutoLog(HttpServletRequest request,HttpServletResponse response, String username)
{
CookieUtil.addCookie(response, "username", username, 3600 * 24 * 3, "/manage/userServlet.action", "localhost");
return true;
} public boolean logout(HttpServletRequest request,HttpServletResponse response, String username)
{
CookieUtil.addCookie(response,"username","",0, "/manage/userServlet.action", "localhost");
return true;
}
严重提醒:删除Cookie时,只设置maxAge=0将不能够从浏览器中删除cookie,
* 因为一个Cookie应当属于一个path与domain,所以删除时,Cookie的这两个属性也必须设置。
* 误区:没有重视客户端发送到服务器端的cookie的path与domain值为空这个问题。
* 因为在登陆系统时,设置了Cookie的path与domain属性的值,就误认为每次客户端请求时,都会把Cookie的
* 这两个属性也提交到服务器端,但系统并没有把path与domain提交到服务器端(提交过来的只有Cookie的key,value值)。

Java操作Session与Cookie的更多相关文章
- C# 操作Session、Cookie,Url 编码解码工具类WebHelper
using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Text ...
- nodejs操作session和cookie
session: 安装模块 cnpm install express-session 引入session注册到路由 var express = require('express'); var sess ...
- 第7课:sql注入、操作session、cookie实例、网络编程、操作Excel
1. 简单讲一些sql注入的内容 name = 'zdq' sex = '女' cur.execute("select * from bt_stu where real_name='%s'& ...
- ecshop里操作session与cookie
目录 操作session 操作cookie html模板里提交保存用用户名 php里 js里保存cookie js里读取cookie html模板里smart的保留变量 html模板里取session ...
- yii 操作session和cookie
一,在Yii中使用session 1,CHttpSession 与原生态php5的session使用差别是,php5使用session_start();$_session['key'] = $valu ...
- Java服务端对Cookie的简单操作
Java服务端对Cookie的简单操作 时间 2016-04-07 10:39:44 极客头条 原文 http://www.cuiyongzhi.com/index.php/post/15.html ...
- JAVA操作COOKIE
JAVA操作COOKIE 1.设置Cookie Cookie cookie = new Cookie("key", "value"); cookie.setMa ...
- python运维开发(十九)----Django后台表单验证、session、cookie、model操作
内容目录: Django后台表单验证 CSRF加密传输 session.cookie model数据库操作 Django后台Form表单验证 Django中Form一般有2种功能: 1.用于做用户提交 ...
- ThinkPHP第二十六天(JQuery操作select,SESSION和COOKIE)
1.JQuery操作select,假设<select id="my"> A:双击选项<option>事件,应该是select的dbclick事件. B:获得 ...
随机推荐
- BZOJ 3224 TYVJ 1728 普通平衡树 [Treap树模板]
3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 7390 Solved: 3122 [Submit][S ...
- ECSHOP用户协议字体颜色更改
ECSHOP用户协议字体颜色更改 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2013-11-12 ECSHOP用户协议模板文件article_pro.dwt 这 ...
- hdu 2050 折线分割平面
训练递推用题,第一次做这个题,蒙的,而且对了. #include <stdio.h> int main(void) { int c,a; scanf("%d",& ...
- ios 随机色 宏定义
#define RGBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1] #d ...
- MySQL各版本的区别(转)
MySQL 的官网下载地址:http://www.mysql.com/downloads/ 在这个下载界面会有几个版本的选择. 1. MySQL Community Server 社区版本,开源免费, ...
- ssh框架整合完整版
1.导入jar包 可以在src下添加一个log4j.properties文件来记录日志 2.加入实体类+映射文件 映射:从类入手class+属性 a.映射的头文件在:hibernate3.jar--& ...
- motto6
当你发现自己不错的时候,要适当的给自己加点凉水,让自己知道自己离“不错”还很远.
- fedora终端快捷键
在name框中填写这个快捷键的名称,比如open terminal(打开终端窗口) 在command框中填写执行这个快捷键的shell命令,此处可填写gnome-terminal
- artEditor增加h5拍照上传图片
摘要: artEditor富文本 编辑器增加了图片拍照功能,点击图片按钮你可以从手机相册选择图片,也可以通过相机拍照上传. 项目地址:https://github.com/baixuexiyang/a ...
- mysql 多表联合更新
UPDATE mall_order moLEFT JOIN mall_order_goods mog ON mo.id = mog.order_idSET mo.ratio=0.08WHERE mog ...