Servlet中的cookie和session
保存数据的2中方式
- Cookie
- Session
Cookie
我们可以将一些信息保存到cookie中,cookie存放在对应的浏览器目录里面。每个站点可以保存20个cookie,最大长度不超过4k。同时,由于http协议是明文传输,所以使用cookie的时候存在一些安全性问题。
|
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { try { Cookie[] cookies = req.getCookies(); boolean usernameFound = false; if(null != cookies) { System.out.println("cookie found"); for(Cookie item : cookies) { System.out.println(item.getName()); if("username".equals(item.getName())) { usernameFound = true; System.out.println("username = " + item.getValue()); break; } } } if(!usernameFound) { System.out.println("没有任何cookie"); Cookie username = new Cookie("username", "Oliver"); resp.addCookie(username); } } catch(Exception exception) { System.out.println("异常:" + Tools.getCurrentTime()); System.out.println(exception); } } |
Session
Session通过cookie保存,每个session有一个唯一的ID(通过getId()获取)。默认情况下session过期时间为30分钟,可以通过代码或者配置的方式设置session失效时期,代码优先于配置文件。
|
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { HttpSession session = req.getSession(); if(null != session) { System.out.println("session 未过期"); } else { System.out.println("session 过期"); } //设置session失效时间为2分钟 session.setMaxInactiveInterval(60 * 2); session.setAttribute("count", 999); session.invalidate(); } |
|
|
也可以通过通过部署描述服务配置失效时间web.xml
|
<session-config> <session-timeout>30</session-timeout> </session-config> |
Servlet中的cookie和session的更多相关文章
- 第74节:Java中的Cookie和Session
第74节:第74节:Java中的Cookie和Session ServletContext: 什么是ServletContext,有什么用哦,怎么用呢? 启动服务器后,会给每个应用程序创建一个Serv ...
- 4、Servlet中的Cookie 用于存储 web 页面的用户信息。
Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务 ...
- Flask中使用cookie和session
Flask中使用cookie和session 设置cookie from flask import Flask,Response app = Flask(__name__) @app.route('/ ...
- {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session
Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...
- django系列7.2--django中的cookie和session基本操作,浏览器登陆验证的不同实现
django中的cookie和session(02)–操作 一.Django中的cookie操作 ctrl + shift + del 是谷歌浏览器中清除页面缓存和cookie的快捷键 1.设置coo ...
- IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token
本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动 ...
- Django---Django中使用COOKIE和SESSION
Django---Django中使用COOKIE和SESSION 一丶Cookie cookie的由来 # HTTP协议是无状态的. # 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请 ...
- 理解会话中的Cookie和Session对象
会话可以简单理解为:用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 在java语言中,Servlet程序是由WEB服务器调用,web服务器收到客 ...
- 程序中的Cookie 和Session
这几天回家休息后,想想放假之前的几天,主要看的一些工作上的东西,发现对Session和Cookie这两个东西,我还是很陌生.恩,趁着有网,看了点相关的资料,打算整理下.一翻博客,发现已经有前辈已经对这 ...
随机推荐
- ABBYY FineReader 12双十一特价来袭
大家似乎都知道:好的办公软件,只要对自己有用,再贵都值得. 可偏偏有人不以为然,几百块钱也是肉啊.也对,毕竟不是人人都能做到"舍得".但没有舍,哪来的得呢? 作为优秀的光学字符识别 ...
- ISV 和SI 是什么
ISV是Independent Software Vendors 的英文缩写,意为"独立软件开发商",特指专门从事软件的开发.生产.销售和服务的企业,如微软(Microsoft). ...
- SourceTree克隆仓库时,总是提示输入密码
1.SourceTree的“工具”-“选项”-“一般”,配置上SSH秘钥: 2.将SSH密钥,配置到GitLab里: 3.仓库的“源路径 / URL”,填写SSH地址:
- [java]序列化框架性能对比(kryo、hessian、java、protostuff)
序列化框架性能对比(kryo.hessian.java.protostuff) 简介: 优点 缺点 Kryo 速度快,序列化后体积小 跨语言支持较复杂 Hessian 默认支持跨语言 较慢 Pro ...
- Markdown Example
An h1 header Paragraphs are separated by a blank line. 2nd paragraph. Italic, bold, and monospace. I ...
- c# 鼠标在控件上拖动 移动窗体 移动窗口
#region 移动窗体 移动窗口 private Point _mousePoint; private int topA(Control cc) { if (cc == null || cc == ...
- 154 Find Minimum in Rotated Sorted Array II
多写限制条件可以加快调试速度. ======= Follow up for "Find Minimum in Rotated Sorted Array":What if dupli ...
- Android Please ensure that adb is correctly located at问题解决
转载于:http://breezylee.iteye.com/blog/2032588 遇到问题描述: 运行android程序控制台输出 [2012-07-18 16:18:26 - ] The co ...
- 黄聪:VS2010每次F5启动都重新编译但是没办法进入断点
这个问题主要是没有把Debug和Realse的生成配置勾上:
- 关于Linux中exec的一点心得
最近在学习linux操作系统中的相关知识,在使用execlp系统调用时,发现了些有趣的东西. 首先,关于execlp函数的用法: int execlp(const char *file, const ...