jsp中的session和上下文
Session的典型应用:
- 防止用户非法登录到某个页面。
- 网上商城的购物车
- 保存用户登录信息
注:多个请求要用的东西放在session中,多个会话之间要用的东西放在上下文中。
如何创建session?
Servelt API 中有HttpSession接口,来封装session对象。用HttpServletRequest来获取会话对象。
HttpSession session=request.getSession();
主要方法:
1. getAttribute( String name )
获取指定名字name相联系的信息.
2.getAttributeNames()
返回Session对象中存储的每一个属性对象,其结果为一个类举的实例.
3. getCreationTime()
返回Session被创建的时间.最小单位为千分之一秒.
4.getId()
此方法返回惟一的标识,这些标识为每个Session而产生.当只有一个单一的值与一个Session联合时,或当日志信息与先前的Session有关时,它被当做键名用.
5.GetLastAccessedTime()
返回当前Session对象最后被客户发送的时间,最单位为千分之一秒.
6. GetMaxInactiveInterval()
返回总时间(秒),负值表示Session永远不会超时.该时间为该Session对象的生存时间.
7. removeAttribute( String name )
删除与提定名字name的相联系的信息.
8. setAttribute( String name , Java.lang.Object value )
设置指定名字name的属性值value,并将之存储在Session对象中.
9.session.invalidate() 是将session设置为失效,一般在退出时使用
问:会话的有效时间到底会有多长时间?
答:1.会话是由容器来创建的,长时间不用,容器会在30分钟后将它销毁,它是不能一直存放在服务器中的。
Tomcat中可以修改会话的时间
C:\Program File\Tomcat\cof\web.xml
第483行-485行
<session-config>
<session-timeout>30</session-timeout>
</session-config>
2.在项目中web.xml中可以设置会话的时间长度
<session-config>
<session-timeout>30</session-timeout>
</session-config>
1、2中session的有效时间应用于所有会话对象有效时间长。
3,对于某一个会话设置有效时间,在Servlet中用session.setMaxAge(秒)来设置
上下文的作用
利用上下文对象可以实现多个用户之间的数据共享。
上下文对象如何创建的?
Servelt中ServletContext sc=this.getServletContext()
sc. setAttribute(String key,Object value)
sc. getAttribute(String key)
sc. getInitParameter(String path)
ServletContext和ServletConfig本来没有直接关系,但容器起动后,把得到上下文方法封装在servletConfig中,因为servlet继承了。
所以,在Servlet 中就可以直接使用ServletContext sc=this.getServletContext()方法得到ServletContext
JSP中 application.getAttribute(String key);
问:ServletContext 什么时使用?
答: 如果在一个应用中有多个Servlet和JSP都使用的变量,以后还可能被修改,就可以考虑用上下文参数
在web.xml中配置:
<context-param>
<param-name>level</param-name>
<param-value>1</param-value>
</context-param>
jsp中的session和上下文的更多相关文章
- 深入理解JavaScript中的作用域和上下文
介绍 JavaScript中有一个被称为作用域(Scope)的特性.虽然对于许多新手开发者来说,作用域的概念并不是很容易理解,我会尽我所能用最简单的方式来解释作用域.理解作用域将使你的代码脱颖而出,减 ...
- 理解JavaScript中的作用域和上下文
JavaScript对于作用域(Scope)和上下文(Context)的实现是这门语言的一个非常独到的地方,部分归功于其独特的灵活性. 函数可以接收不同的的上下文和作用域.这些概念为JavaScrip ...
- 认识javascript中的作用域和上下文
javascript中的作用域(scope)和上下文(context)是这门语言的独到之处,这部分归功于他们带来的灵活性.每个函数有不同的变量上下文和作用域.这些概念是javascript中一些强大的 ...
- Spring Boot 中修改端口和上下文路径
通过修改application.properties内容来改变访问的端口号和上下文路径(很简单!) spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.vi ...
- Jsp中解决session过期跳转到登陆页面并跳出iframe框架的方法
1.可以用javaScript解决在你想控制跳转的页面,比如login.jsp中的<head>与</head>之间加入以下代码: <script language=”Ja ...
- 对JSP中的Session 简单理解
我的理解: 简单来说,要使用服务器端的session对象,就是要有其对应的key,即sessionid,它只认识sessionid. 下面我说的cookie,url重写或者隐藏表单,都是为了将其对应的 ...
- flask 状态保持session和上下文session的区别
问题场景: 在falsk项目中导入了两个session: 首先,配置文件config.py文件中 有个 flask_session扩展导入了Session ( from flask_sessi ...
- jsp中的session
浏览器和服务器的异常通话 常用方法 setAttribute(String key,Object value);//设置值 getAttribute(String key); //取值 Invalid ...
- Flask 进阶session和上下文管理解析
session的源码流程 将session放置在redis中 安装 pip install flask-session 使用 import redis from flask import Flask, ...
随机推荐
- sqlite内存数据库和文件数据库的同步[转]
由于sqlite对多进程操作支持效果不太理想,在项目中,为了避免频繁读写 文件数据库带来的性能损耗,我们可以采用操作sqlite内存数据库,并将内存数据库定时同步到文件数据库中的方法. 实现思路如下: ...
- Chrome Google 快捷键
窗口和标签页快捷方式 Ctrl+N 打开新窗口 按住 Ctrl 键,然后点击链接 在新标签页中打开链接 按住 Shift 键,然后点击链接 在新窗口中打开链接 Alt+F4 关闭当前窗口 Ctrl+ ...
- mysql中tinyint、smallint、mediumint,int 和bigint 的区别
1:字节的定义:字节(Byte):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位. 一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间 2.在mysql中一个汉字占三个 ...
- python网络编程,通过服务名称和会话类型(tcp,udp)获取端口号,简单的异常处理
作为一个php程序员,同时有对网络方面感兴趣,php就比较蛋疼了,所以就抽了些时间看python 之前学python基础因为工作原因,断断续续的看了个基础,差不多是可以写代码了 最近在看<pyt ...
- Hive初识(四)
Hive本质上是一个数据仓库,但不存储数据(只存储元数据(metadata),Hive中的元数据包括表的名字,表的列和分区及分区及其属性,表的属性(是否为外部表等),表的数据所在目录等),用户可以借助 ...
- 数据结构的C语言基础
数据结构的C语言基础 1. 数据输出 printf()函数为格式输出函数,它存在于标准函数库中,在C语言程序中可以直接调用,但程序源文件的开头必须包含以下命令: #include < stdi ...
- LOOP AT SCREEN
用法 主に.画面の属性を変更させるために使用する. 照会モードでは入力不可とするが入力可能モードでは入力可能とする.ラジオボタンAが選択された場合はラジオボタンBに関連する項目は非表示とするなど. ...
- Create Fiori List App Report with ABAP CDS view – PART 2
In the Part 1 blog, we have discussed below topics CDS annotations for Fiori List Report. How to cre ...
- LeetCode:7. Reverse Integer(Easy)
题目要求:将给出的整数进行逆序输出 注意:整数的最大范围-2147483648-2147483647,当翻转后的数超出范围后返回0 思路:对给出的整数除以10,取余和取整:然后对取整部分继续取余和取整 ...
- 响应式js设置
<script> (function anonymous() { // 声明一个函数,并直接的执行 function computed() { let HTML = document.do ...