2.servlet的会话机制session
session的说明:
1.session是服务端技术,存放在服务器
2.一个用户浏览器对应一个session域对象,一对一的对应关系
3.session的默认生命周期是30min,可以通过web.xml修改
4.session中可以存放多个属性
5.session可以存放对象
6.如果同一个浏览器,session.setAttribute("name",val)设置属性的时候,如果名字相同,会替换该对象的值
创建session
//访问session,当发现没有session时候,就会自动创建session
httpSession session=request.getSession();
//给session放入属性
session.setAttribute("uname","名字");
session.setAttribute("age",60);
//删除属性
session.removeAttribute("age");
//session的生命周期默认30min tomcat的web.xml文件默认设置
浏览器获取session
//获取session
HttpSession session=request.getSession();
//获取
String uname = (String)session.getAttribute("uname");
防止用户非法登录到某个页面:
当用户登录成功后,可以把信息存放到session,然后再需要验证的页面中获取用户信息,如果为null,则说明用户非法,可以让其重新登录。
修改session的生命周期:
这样修改:
// 1. 一个地方是tomcat/conf/web.xml
<session-config> <session-timeout>30</session-timeout> </session-config> //对所有的web应用生效 // 2. 另一个地方,就是单个的web应用下去修改web.xml文件同样写上面的代码
<session-config> <session-timeout>30</session-timeout> </session-config>
//如果冲突就以自己的web应用为标准 3....
session.setMaxInactiveInterval(60);//60秒指的是发呆时间,60秒内无操作就死亡
session的生命周期示意图

在session中禁用cookie
在项目的webRoot目录中的META-INF文件下,打开或者创建context.xml文件下,编辑内容:(只在某个项目中禁用cookie)
<?xml version="1.0" encoding="UTF-8"?>
<Context cookies="false" path="/ch06">
</Context>
或者打开tomcat的配置文件context.xml(禁用tomcat中所以web项目中的cookie)
<?xml version="1.0" encoding="UTF-8"?>
<Context cookies="false">
........
</Context>
7.为什么浏览器能够为不同的浏览器提供不同的session

2.servlet的会话机制session的更多相关文章
- Servlet基础知识(三)—— 会话机制Session,Session和Cookie的异同
Servlet会话机制: Http是一种无状态协议,它是无记忆的.也就是说,服务器不会保存用户的任何信息,当同一用户再次去访问时,服务器是不认识你的,它还是会建立新的连接. 但有时候我们需要服务器保留 ...
- Servlet的会话(Session)跟踪
以下内容引用自http://wiki.jikexueyuan.com/project/servlet/session-tracking.html: HTTP是一种“无状态”协议,这意味着每次客户端检索 ...
- Servlet之会话(Session)以及会话追踪技术(Cookie),(URL重写)和(隐藏表单域)
Session 什么是会话? 会话: Web应用中的会话 指的是一个客户端浏览器与Web服务器之间连续发生的一系列请求和响应的过程 会话状态: Web服务器和浏览器在会话的过程中产生的状态信息 作用: ...
- 二,PHP会话机制---session的基本使用
1,思考:登录网站后,在每个网页都能拿到用户信息 (1) 使用超链接传递用户名,这样太繁琐了,不建议使用 . (2) 使用数据库,每打开一个页面都查询一次用户信息表,这样网页加载速度变慢,用户体验变差 ...
- PHP会话机制---session的基本使用
登录网站后,在每个网页都能拿到用户信息 (1) 使用超链接传递用户名,这样太繁琐了,不建议使用 . (2) 使用数据库,每打开一个页面都查询一次用户信息表,这样网页加载速度变慢,用户体验变差. (3) ...
- 1.servlet的会话机制cookie
会话:用户开浏览器访问某个网站,只要不关闭浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个过程称为一次会话 cookie会话: 1.记录用户上次登录的时间 2.浏览商品的历史 ...
- Servlet的会话机制?
因为http协议是无状态协议,又称为一次性连接,所以webapp必须有一种机制 能够记住用户的一系列操作,并且唯一标示一个用户. Cookie: 又称为小饼干,实际就是使用一个短文本保存用户信息, 在 ...
- 会话追踪(session tracking)
HTTP是一种无连接的协议,如果一个客户端只是单纯地请求一个文件(HTML或GIF),服务器端可以响应给客户端,并不需要知道一连串的请求是否来自于相同的客户端,而且也不需要担心客户端是否处在连接状态. ...
- Java Web(三) 会话机制,Cookie和Session详解
很大一部分应该知道什么是会话机制,也能说的出几句,我也大概了解一点,但是学了之后几天不用,立马忘的一干二净,原因可能是没能好好理解这两种会话机制,所以会一直遗忘,一直重新回过头来学习它,今天好好把他总 ...
随机推荐
- Ajax工作原理(转)
1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax ...
- 控件(文本类): AutoSuggestBox
Controls/TextControl/AutoSuggestBoxDemo.xaml <Page x:Class="Windows10.Controls.TextControl.A ...
- shell实现两个数的相加
刚开始的时候写,一直写不对:看似简单的功能,但是一定要小心:函数的定义: funciton functionName {.....}在functionName和{之间一定有空格啊! 我就是没加空格,就 ...
- 浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
本篇文章主要是对jQuery(function(){})与(function(){})(jQuery)之间的区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 Jquery是优秀的Javas ...
- 【CodeForces 697C】Lorenzo Von Matterhorn(LCA)
Least Common Ancestors 节点范围是1~1e18,至多1000次询问. 只要不断让深的节点退一层(>>1)就能到达LCA. 用点来存边权,用map储存节点和父亲连边的权 ...
- TopCoder SRM 596 DIV 1 250
body { font-family: Monospaced; font-size: 12pt } pre { font-family: Monospaced; font-size: 12pt } P ...
- [IOS多线程]的使用:防止进行HTTP数据请求时,UI卡死。
多线程的实现:NSThread 1.子线程的创建:两种方法 第一种: [NSThread detachNewThreadSelector:@selector(downloadImage:) toTar ...
- AngularJs ngClass、ngClassEven、ngClassOdd、ngStyle
这几个都关于样式及类名修改的,所以先把样式代码贴上吧. .red{color:red} .blue{color:blue} 写案例用到的样式就这么简单的两个,下面进入正题. ngClass ngCla ...
- STL之deque用法详解
C++ Deque(双向队列): Deque是一种优化了的.对序列两端元素进行添加和删除操作的基本序列容器.它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用 ...
- C语言:链表实现的一个实例
问题:写一个程序输入你一年看过的所有电影以及每部电影的各种信息(简化问题:每部电影只要求输入片名和评价) 链表实现: #include<stdio.h> #include<stdli ...