『壹』 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时间超时,一直没有效果,具体该怎么操作
在web.xml中配置了就可以的。 假如你设置的是5分钟,那么在这5分钟内不能去访问服务器。如果访问了的话,就不会失效的。没有访问的话,超过你设置的时间(5分钟),就会失效
『叁』 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 设置session过期时间 就是用户在指定时间内 不做操作 就要重新登录 ,这个前后台具体怎么操作
一般是每个操作前判断session是否存在。有现成的系统,自己写也很容易。一般用filter来实现。 注意,某些画面要特判。例如登录画面,密码遗忘画面等。否则会死循环。
『伍』 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永不过期
『陆』 请问,java高手,java中的session默认是有个有效期的吧,比如有效期是20分钟,
session 有效期是说 你20分钟内不再有请求 你一直操作=一直有请求 所以不会断
『柒』 怎么在java代码中获取Sessionlistener和Session失效时间
java中设置session存在整个web的时间方法如下:
(1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(900);
参数900单位是秒,即在没有活动15分钟后,session将失效。
这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。
(2)也是比较通用的设置session失效时间的方法,就是在项目的web.xml中设置
Xml代码
[xhtml] view plain
<session-config>
<session-timeout>15</session-timeout>
</session-config>
这里的15也就是15分钟失效.
(3)直接在应用服务器中设置,如果是tomcat,可以在tomcat目录下conf/web.xml中
找到<session-config>元素,tomcat默认设置是30分钟,只要修改这个值就可以了。
『捌』 java 设置session过期时间 就是用户在指定时间内 不做操作 就要重新登录
可以把这个定时的ajax请求在过滤器里面过滤掉,不用验证用户,也不去会影响session。
『玖』 java中怎么设置一个session在整个web中的时间
java中设置session存在整个web的时间方法如下:
(1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(900);
参数版900单位是秒,即在没有活动15分钟权后,session将失效。
这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。
(2)也是比较通用的设置session失效时间的方法,就是在项目的web.xml中设置
Xml代码
[xhtml] view plain
<session-config>
<session-timeout>15</session-timeout>
</session-config>
这里的15也就是15分钟失效.
(3)直接在应用服务器中设置,如果是tomcat,可以在tomcat目录下conf/web.xml中
找到<session-config>元素,tomcat默认设置是30分钟,只要修改这个值就可以了。
『拾』 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会话互不干扰。