Session的典型应用:

  1. 防止用户非法登录到某个页面。
  2. 网上商城的购物车
  3. 保存用户登录信息

注:多个请求要用的东西放在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>

转载于:https://www.cnblogs.com/lm970585581/p/7163252.html

jsp中的session和上下文相关推荐

  1. session登录状态保持html,Flask使用Session和上下文处理器保持登录状态

    (1)Flask如何实现用户登录后注销.用户登录后权限不同,页面不一样的功能呢? 我们可以使用session来保存用户登录的这个状态,当登录成功的时候,将当前登录的username存入session, ...

  2. JavaScript中的作用域,闭包和上下文

    深入理解JavaScript中的作用域和上下文 很多语言当中都会有作用域的概念,它会给我们带来便利,偶尔也会有烦恼,只有清楚地理解和掌握了它,才能更好地为我所用,今天就带来这么一篇文章供大家参考. 介 ...

  3. JSP中 JSTL和EL标签的使用

    使用JSTL前的准备 想要使用JSTL,首先需要给工程导入JSTL的包(JSTL.jar和standard.jar). JSTL简介 JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应 ...

  4. JSP 中EL表达式用法详解

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  5. 怎么把JSP的参数:先传到JSP中,然后传给后台

    第一种:可以在JSP中使用form表单,把参数放在input中hidden起来,然后在后台中取出来.代码如下: //前台jsp <form action="后台URL" me ...

  6. Struts2,在Action中使用session

    为什么80%的码农都做不了架构师?>>>    在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到 1.通过ActionContext clas ...

  7. JSP中EL表达式的用法详解(必看篇)

    转自:https://www.jb51.net/article/105314.htm EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL ...

  8. 独家 | 图解BiDAF中的单词嵌入、字符嵌入和上下文嵌入(附链接)

    作者:Meraldo Antonio 翻译:张玲 校对:吴金笛 本文约5200字,建议阅读15分钟. 本文重点讲解机器问答任务中常见机器学习模型BiDAF是如何利用单词.字符和上下文3种嵌入机制将单词 ...

  9. jsp中session 失效设置

    jsp中session 失效设置 一般web系统都需要控制session自动失效的时间,从而控制用户访问系统超时.设置session失效有以下三种方式: 1.在主页面或者公共页面中加入:session ...

  10. Struts2项目中的JSP如何访问Session对象

    Struts2 项目中,Session 对象存放在 ValueStack 的 context 对象中,context 是 Map 对象,那么要从 context 对象中获取到 Session 对象,就 ...

最新文章

  1. php比较函数代码,php字符串比较函数
  2. 在数组中找出3个数使得它们和为0
  3. python 权限修饰符
  4. Linux系统用户环境变量大全,linux系统和用户环境变量的配置文件
  5. 教你获取WindowsNT的Admin权限的方法
  6. Hibernate学习之Hibernate注解总结
  7. ios realm 文件_iOS开发中使用Realm数据库
  8. python 字符串首字母_如何将string(Python)中每个单词的首字母大写?
  9. c#學習筆記--Visual Studio 使用
  10. 两分钟学会Android平台NDK编程(无须Eclipse和cygwin,可使用命令行打包多个so)
  11. linux shell ls -1 列显示文件
  12. grid studio python_Grid studio表格应用程序:Python的集大成者
  13. 直播app源代码,单例模式
  14. 提高计算机访问硬盘的速度慢,嫌电脑速度不够快?教你5招提升硬盘性能!
  15. 如何测身高未来身高计算机,父母身高测孩子身高公式
  16. 毕业设计之 --- 新闻分类系统
  17. 人工神经网络预测血药浓度计算公式
  18. binlog2sql 恢复工具使用
  19. 搜索的实例——水管工游戏
  20. Eclipse 配置JDK

热门文章

  1. java 中如何连接 oracle 数据库
  2. UNIX环境高级编程——记录上锁(fcntl函数)以及死锁检测
  3. LINUX信息命令查看大全
  4. 微软今天发布免费安全软件套装
  5. xmlhttp上传文件(转贴)
  6. 微服务架构实战(一):微服务架构的优势与不足
  7. Vim查找与替换命令大全,功能完爆IDE!
  8. graphics java_Graphics
  9. Python中面向对象初识到进阶
  10. Gym 100342J Triatrip (求三元环的数量) (bitset优化)