session对象的使用
session对象的使用
制作人:全心全意
session在网络中被称为会话。由于HTTP协议是一种无状态协议,也就是当一个客户向服务器发出请求,服务器接收请求,并返回响应后,该连接就结束了,而服务器并不保存相关的信息。为了弥补这一缺点,HTTP协议提供了session。通过session可以在应用程序的Web页面间进行跳转时,保存用户的状态,使整个用户会话一直存在下去,知道关闭浏览器。但是,如果在一个会话中,客户端长时间不向服务器发出请求,session对象就会自动消失。这个时间取决于服务器,例如,Tomcat服务器默认为30分钟。不过这个时间可以通过编写程序进行修改。
创建及获取客户端的会话
setAttribute()方法:将信息保存在session范围内
session.setAttribute(String name, Object obj)
参数说明:
name:用于指定作用域在session范围内的变量名
obj:保存在session范围内的对象
getAttribute()方法:获取保存在session范围内的信息
session.getAttribute(String name)
参数说明:
name:指定保存在session范围内的关键字
说明:getAttribute()方法的返回值是Object类型,如果将获取到的信息赋值给String类型的变量,则需要进行强制类型转换或是调用其toString()方法。
移除session中指定的对象
session.removeAttribute()方法:移除存储在session会话中的对象
session.removeAttribute(String name)
参数说明:
name:指定作用域在session范围内的变量名。一定要保证该变量在session范围内有效,否则将抛出异常。
销毁session
session.invalidate()方法:销毁session
session.invalidate()
说明:session对象被销毁后,将不可以再使用该session对象了。如果在session被销毁后,再调用session对象的任何方法,都将报出Session already invalidated异常。
session会话超时管理
在应用session对象时应该注意session的生命周期。一般来说,session的生命周期在20~30分钟之间。当用户首次访问时将产生一个新的会话,以后服务器就可以记住这个会话状态,当会话生命周期超时时,或者服务器端强制使会话失效时,这个session就不能使用了。在开发程序时应该考虑到用户访问网站时可能发生的各种情况,例如用户登录网站后在session的有效期外进行相应的操作,用户会看到一张错误页面。这样的现象时不允许发生的。为了避免这种情况的发生,在开发系统时应该对session的有效性进行判断。
session.getLastAccessedTime():返回客户端最后一次与会话相关联的请求时间
session.getMaxInactiveInterval():以秒为单位返回一个会话内两个请求最大时间间隔
session.setMaxInactiveInterval():以秒为单位设置session的有效时间
session.getLastAccessedTime();session.getMaxInactiveInterval();session.setMaxInactiveInterval(int arg);
参数说明:
arg:seesion的有效期(单位:秒)
session对象的应用实例
index.jsp:提供用户输入用户名的文本框,并提交到session.jsp页面中
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>session对象的使用-index.jsp</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="session.jsp"><div align="center"><table width="28%" border="0"><tr><td width="36%"><div align="center">您的名字是:</div></td><td width="64%"><label><div align="center"><input type="text" name="name" /></div></label></td></tr><tr><td colspan="2"><label><div align="center"><input type="submit" name="Submit" value="提交" /></div></label></td></tr> </table></div>
</form>
</body>
</html>
session.jsp:将用户名保存到session中,并提供用户输入最喜欢去的地方的文本框
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>session对象的使用-session.jsp</title>
</head>
<body><%String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8"); //获取用户填写的用户名session.setAttribute("name", name); //将用户名保存到session对象中%><div align="center"><form id="form1" name="form1" method="post" action="result.jsp"><table width="28%" border="0"><tr><td>您的名字是:</td><td><%=name %></td></tr><tr><td>您最喜欢去的地方是:</td><td><label><input type="text" name="address" /></label></td></tr><tr><td colspan="2"><label><div align="center"><input type="submit" name="Submit" value="提交" /></div></label></td></tr></table></form></div>
</body>
</html>
result.jsp:获取session中的用户名对象,再获取session.jsp页面提交过来的最喜欢去的地方,并在页面中显示出来
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>session对象的使用-result.jsp</title>
</head>
<body><%String name = (String)session.getAttribute("name"); //获取保存在session范围内的对象String solution = new String(request.getParameter("address").getBytes("ISO-8859-1"),"utf-8");//获取用户输入的最喜欢去的地方%><form id="form1" name="form1" method="post" action=""><table width="28%" border="0"><tr><td colspan="2"><div align="center"><strong>显示答案</strong></div></td></tr><tr><td width="49%"><div align="left">您的名字是:</div></td><td width="51%"><label><div align="left"><%=name %></div></label></td></tr><tr><td><label><div align="left">您最喜欢去的地方是:</div></label></td><td><div align="left"><%=solution %></div></td></tr></table></form>
</body>
</html>
转载于:https://www.cnblogs.com/zhangquan-yw/p/9612641.html
session对象的使用相关推荐
- 基于mybatis声明SQL Session对象
/*声明SQL Session对象*/ SqlSession sqlSession = new SqlSessionFactoryBuilder().build(Resources.getResour ...
- session对象运行机制
当你看到 "会话" 这个词的时候,你会怎么理解呢?是交流.对话的意思吗?那毫无疑问绝对是的啦,只不过那是传统意义上的,或者说是日常生活中的意思,在计算机科学领域,它的意思就要引申一 ...
- Session对象失效的客户端解决方法
ASP(Active Server Pages)技术的Session对象用于存储用户在对话期间的私有信息.当前用户的Session对象中定义的变量和对象能在页面之间共享,但是不能为应用中其他用户所访问 ...
- python中requests库的用途-python中requests库session对象的妙用详解
在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...
- java中的session对象,Java对象中Response与session对象的方法是什么?
广州达内Java培训小编了解到Java对象种类很多,有的小伙伴最不清楚的就是Response与session对象的方法,下面小编就搜集Response与session对象的方法供大家阅读.当一个客户首 ...
- session 对象的简单实例
一个session对象的简单实例: 1.登录界面:使用简单的html表单提交界面. <%@ page language="java" contentType="te ...
- Grails通过sessionId获取session对象
Grails通过sessionId获取session对象 思路:自定义一个类用来监听session,所有session存入map中,sessionId作为读取的key 创建监听类 SessionTra ...
- Session对象的生命周期
创建:第一次执行request.getSession()时创建 销毁: 1)服务器(非正常)关闭时: 2)session 过期/失效(默认30分钟),也可以在工程的web.xml中进行配置改变时间: ...
- 应用session对象实现用户登录
session在网罗中被称为会话,由于HTTP协议是一种无状态协议,也就是当一个客户向服务器发出请求时,服务器接受请求并返回响应后,该连接结束,而服务器并不保存相关的信息.所以HTTP提供了sessi ...
- Session对象的应用
Session应用 可以使用于安全性相比之下较高的场合,比如后台登录. 在管理员登录时,如果登录成功,则需要给管理员创建一个Session对象. 在后台登录中,管理员拥有一定的操作时间,如果在这段时间 ...
最新文章
- Percona-Server-5.5.30安装
- 机器学习在生物信息(如DNA比对等方面)的研究现状是怎样的?
- emmet快速缩写展开的基本写法与心得
- 驱动华为_实锤!华为成立驱动芯片部门,OLED驱动芯片正流片
- ZedGraph的曲线的LineItem对象的Tag属性存储信息进而在鼠标悬浮时进行显示
- SharePoint2007 配置MOSS基于AD的Forms验证
- Ubuntu终极指南
- 大数据为什么需要安全分析
- adb 模拟器安装apk
- app逆向 安卓开发环境搭建
- Linux安装fcitx输入法
- 介绍两种简单实用的信道编码——CRC校验和汉明码
- 优秀java程序员必须具备的技术技能
- 北京高考零分作文(结尾太搞了)终于懂了什么叫笑喷了
- 长春市计算机职业技术学校,长春职业技术学校
- 关于移动端IOS input弹起键盘时,引起高度问题
- 语音质量检测 梅尔倒谱失真MCD
- Java中当被除数比除数小时为什么计算结果都为0?
- 【软件问题】解决WPS中的VBA支持库安装问题(亲测可用)
- dedecms如何自定义分页样式
热门文章
- vant popover offset
- Vue「二」—— vue 基本使用 、vue 指令 、vue 过滤器
- 模拟电路--可编程数字稳压电源的设计
- OpenCV3学习(12.5) opencv实现粒子滤波目标跟踪
- springboot学习过程中遇到的错误集
- 大专学计算机应用难吗,上了两年技校,专业是计算机应用,什么也没学到。现在想在去上个大专。学什么专业好呢。?...
- linux硬盘系统安装教程图解,Linux操作系统添加安装新硬盘的方法图解
- display:none和visibility:hidden区别
- Apache 工作模式配置优化
- Linux修改root用户登录密码