java:Session

1.Session概述:

  Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。有关使用 Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。注意 会话状态仅在支持 cookie 的浏览器中保留。

2.

session:
在web中session就代表了一次会话
一次建立连接和一次关闭连接称之为会话
session会在客户端第一次向服务器请求的时候,在服务器上被创建,服务器响应客户端的时候就会传送给客户端,此时sessionID保留在客户端
当客户端第二次向服务器发送请求的时候会带上sessionid---->首先要寻找相同sessionid,如果找到就标识来过,如果没有找到,服务器就会重新创建一个sessionid返回给客户端
session什么时候被销毁:
(session的不活动周期)
不活动周期:当在10秒钟之内任意一秒刷新了页面(操作当前session),失效时间会自动重置为10秒
关闭服务器
关闭浏览器
配置session自动失效((tomcat服务器)默认失效时间为30m)
*****如果使用的是tomcat服务器,不允许修改tomcat的web.xml中的session失效时间
setMaxInactiveInterval设置失效使用
invalidate()方法,强制失效(坚决不让用)

session常用的方法:
******setAttribute(key,value);为session对象设置一个值
******getAttribute(key);通过设置的key获取对应的值
******removeAttribute(key);通过设置的key移除对应的键值对
(不常用)getAttributeNames();获取设置的key的值,返回的是一个枚举
setMaxInactiveInterval(int seconds);设置session的失效时间,单位是秒
getMaxInactiveInterval();获取session的失效时间,单位是秒
******isNew();当前session对象是否为新创建的对象,返回boolean类型

时间: 2024-09-29 16:08:34

java:Session的相关文章

Java:session中的invalidate()的作用是什么呢?求解

手工杀会话.会话失效有2种可能:超时和手工杀会话.手工杀方便省时间,程序员都爱用. 比如我做一个程序需要登录,中间访问的页面有会话控制,如果没有登录则跳转到登录页面,退出时清会话信息. 这是有两个选择:把session数据清空,或直接杀会话.建议直接杀会话,方便.如果退出时不清会话,对方点浏览器后退,依然无需登录可以正常访问站点. 追问 就是说这个东西的最大用处是作退出功能时直接用session.invalidate()将session清空就行了以免有遗漏,如果想手动清空某项session,也可

java:sso(单点登录(single sign on),jsp文件动静态导入方式,session跨域)

1.jsp文件导入: 2.session跨域: 3.sso(单点登录(single sign on): sso Maven Webapp: LoginController.java: package com.sso.demo.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans

java:Mybatis框架1(基本配置,log4j)

1.mybatis01: db.properties: driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username=root password=root log4j.properties: #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4

从0开始学Java:运行时异常与一般异常有何异同?

无限互联从0开始学Java系列之JAVA相关基础知识,Java基础培训,String 和StringBuffer的区别 1.Java基础学习,从0开始学Java:String 和StringBuffer的区别? JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数值不可改变的字符串.而这个StringBuffer类提供的字符串进行修改.当你知道字符数据要改变的时候你就可以使用StringBuffer.典型

深入理解Java:注解(Annotation)--注解处理器

深入理解Java:注解(Annotation)--注解处理器 如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了.使用注解的过程中,很重要的一部分就是创建于使用注解处理器.Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器. 注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotation类型的父接口.除此之外,Java在java.l

深入理解Java:注解(Annotation)自己定义注解入门

深入理解Java:注解(Annotation)自己定义注解入门 要深入学习注解.我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前.我们就必须要了解Java为我们提供的元注解和相关定义注解的语法. 元注解: 元注解的作用就是负责注解其它注解. Java5.0定义了4个标准的meta-annotation类型.它们被用来提供对其它 annotation类型作说明.Java5.0定义的元注解: [email protected], [email protected], [email pro

Java:String、StringBuffer和StringBuilder的区别

Java:String.StringBuffer和StringBuilder的区别 1 String String:字符串常量,字符串长度不可变.Java中String是immutable(不可变)的. String类的包含如下定义: [java] view plain copy /** The value is used for character storage. */ private final char value[]; /** The offset is the first index

Java:String和Date、Timestamp之间的转换

一.String与Date(java.util.Date)互转 1.1 String -> Date Java代码   String dateStr = "2010/05/04 12:34:23"; Date date = new Date(); //注意format的格式要与日期String的格式相匹配 DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); try { date = sdf

java:打包

包名命名规范: 1.包名全部小写 2.包名一般情况下是域名的倒过来写+个性命名,如:tinyphp.com,就写成com.tinyphp+.xxx 打包方法 package + 包名 package test; class Test {.. } 运行: E:\d>javac -d . Test.java 就会生成一个test文件夹 -d 就是目录的意思,directory," . "是当前目录 调用类的路径也会改变,格式:"包名"+"."+