当前位置: 首页>前端>正文

如何修改session的值 改变session

Session保存在服务器端。为了获得更高的存取速度,服务器一般把Session放在内存里。每个用户都会有一个独立的Session。如果Session内容过于复杂,当大量客户访问服务器时可能会导致内存溢出。因此,Session里的信息应该尽量精简。

Session在用户第一次访问服务器的时候自动创建。需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session。如果尚未生成Session,也可以使用request.getSession(true)强制生成Session。

Session生成后,只要用户继续访问,服务器就会更新Session的最后访问时间,并维护该Session。用户每访问服务器一次,无论是否读写Session,服务器都认为该用户的Session“活跃(acTIve)”了一次。

由于会有越来越多的用户访问服务器,因此Session也会越来越多。为防止内存溢出,服务器会把长时间内没有活跃的Session从内存删除。这个时间就是Session的超时时间。如果超过了超时时间没访问过服务器,Session就自动失效了。

Session生命周期设置

Session存储在服务器端,一般放置在服务器的内存中(为了高速存取),Sessinon在用户访问第一次访问服务器时创建,需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session,可调用request.getSession(true)强制生成Session。

以下是对session的几种生命周期的设置:

一丶最粗暴的设置方式

在服务器对应的配置文件下的web.xml文件中修改《session-TIme-out》《/session-TIme-out》中的值。

如下图所示:

Tomcat默认session超时时间为30分钟,可以根据需要修改,负数或0为不限制session失效时间。

二丶常用也是比较简便的方法

在你的项目的web.xml文件中进行配置参数:

对应的xml代码如下所示:

《session-config》

《session-TImeout》20《/session-timeout》

《/session-config》

上面20的意思是会话的失效时间是20分钟。这里是按照分钟来计算。

三丶比较温顺的一种设置方式

在主页面/公共页面/或是在对应的Servlet下面的代码中添加如下代码:

session.setMaxInactiveInterval(你想设置的时间);

设置的时间是以秒计算,它是根据服务器来计算时间。

Http Session的方法

Object getAttribute(String);

Enumeration《String》 getAttributeNames();

long getCreationTime();

String getId();

String getLastAccessedTime();

Int getMaxInactiveInterval();

ServletContext getServletContext();

void invalidate();//销毁当前session

boolean isNew();

void removeAttribute();

void setAttribute(String, object);

void setMaxInactiveInterval(int);


https://www.xamrdz.com/web/2p21951554.html

相关文章: