① 请问,java高手,java中的session默认是有个有效期的吧,比如有效期是20分钟,
session 有效期是说 你20分钟内不再有请求 你一直操作=一直有请求 所以不会断
② Java中怎么判断Session是否过期
调用request.getSession(false),如果返回null,代表没有该session即已经过期,反之则没有过期
③ java中的session 从过期失效 到 摧毁 要多少时间
这个是JVM回收机制的问题,什么时候回收,什么时候摧毁。
解释:过期的内容,已经成为jvm中的垃圾信息,这个具体什么时候摧毁,没办法说的,只能说什么时候JVM进行垃圾回收,什么时候释放这个资源。
④ 如何判断session过期 java
设置session的失效时间
a)web.xml中
<session-config>
<session-timeout>30</session-timeout>
</session-config>
b)在程序中手动设置
session.setMaxInactiveInterval(30 * 60);//设置单位为秒,设置为-1永不过期
c)tomcat也可以修改session过期时间,在server.xml中定义context时采用如下定义:
<Context path="/livsorder" docBase="/home/httpd/html/livsorder"
defaultSessionTimeOut="3600" isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true"
isWorkDirPersistent="false"/>
2.如何判断session过没过期
if(request.getSession(false)==null)
System.out.println("Session has been invalidated!");
else
System.out.println("Session is active!");
⑤ java session过期问题
1、Session是有生命周期的,生命周期结束,Session就会过期,Session 里面的信息就会丢失。
2、另外Session可能会因为其他原因导致session覆盖而过期;
3、下面举个小例子的原因解释说明Session因为覆盖而丢失(过期)
原因解释:
客户端(浏览器)基于cookie保存交互的session会话信息,但是cookie又是基于域来区分;
假如A_ 和 B_ 项目使用了同一个域,故其cookie所在层级一样,如果两个项目都是用默认的sessionCookieName的话就会导致session的相互覆盖致某一方session丢失(过期);
在 A_项目需要访问 B_项目中的某一个服务JSP,需要与B_服务器建立一个session会话(即生成一个sessionID),如果A_项目与B_项目属于不同的两个域或者是cookie所属不同层级,这个新生成的session和A_项目自身的session会话互不干扰。
⑥ java如何对SESSION设置有效时间!
程序中session都有一个默认的过期时间,其中tomcat中的默认时间为30分钟,根据需要我专们可以去手动设置session的过期时属间,以下是设置session的过期时间的三个方法:
1.在tomcat-->conf-->conf/web.xm中的<session-config>中设置:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
2.在项目的web.xml中定义:
<session-config>? ?
<session-timeout>20</session-timeout>? ?
</session-config>
注:20则设置过期时间为20分钟
3.在程序中定义:
session.setMaxInactiveInterval(30*60);
⑦ java web为什么我的session过期时间设为永不过期,浏览器session还是会过期
Tomcat Session过期时间
Tomcat采用数据库连接池技术,当用户在一定时间不对数据库有操作时间后,就自动关闭这个连接,这是为了更好的利用资源,防止浪费宝贵的数据库连接资源。
可以采用如下三种方式,设置这个连接(Session)的过期时间:
前两个都是修改tomcat的配置文件conf
1. 在server.xml中定义context时采用如下定义:
xml 代码
<Context path="/livsorder" docBase="/home/httpd/html/livsorder"
defaultSessionTimeOut="3600" isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true"
isWorkDirPersistent="false"/>
3600秒=1小时
2. 在web.xml中通过参数指定:
xml 代码
<session-config>
<session-timeout>30</session-timeout>
</session-config>
其中30表示30分钟
3. 在程序中通过servlet api直接修改
java 代码
HttpSession ses = request.getSession();
ses.setMaxInactiveInterval(10);
设置单位为秒,设置为-1永不过期。
⑧ java的session过期问题
会,看你session设置的过期时间设置了多久,在web.xml里有设置
<session-config>
<session-timeout>30</session-timeout>
</session-config>
⑨ java session 过期
你弹出前加个判断畲
⑩ java网站中session 有默认的过期时间吗
程序中session都有一个默认的过期时间,其中tomcat中的默认时间为30分钟,根据需要我们可以去手动设置session的过期时间,以下是设置session的过期时间的三个方法:
1.在tomcat-->conf-->conf/web.xm中的<session-config>中设置:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
2.在项目的web.xml中定义:
<session-config>
<session-timeout>20</session-timeout>
</session-config>
注:20则设置过期时间为20分钟 测试通过
3.在程序中定义:
session.setMaxInactiveInterval(30*60);
设置单位为秒,设置为-1永不过期