JavaEE session机制

it2025-09-26  102

JavaEE session机制

Http协议:

     在讲session之前,必须说下Http协议,HTTP是一个client和server端请求和应答的标准(TCP)。由HTTPclient发起一个请求,建立一个到server指定port(默认是80port)的TCP连接。HTTPserver则在那个port监听client发送过来的请求。一旦收到请求,server(向client)发回一个状态行,比方"HTTP/1.1200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其他一些信息。

     也就是Http协议是无状态保持功能的,所以我们说下我们的session机制,就是为了保存相应浏览器的身份识别功能的。

 

Session技术:     1,什么是session(会话)       在server端维护用户状态的一种状态管理技术,事实上现过程:当浏览器发给你文server时,server会创建一个对象(称为session对象),       该对象有一个唯一的id号(称为sessionId),然后,server在默认情况下,会使用cookie技术,将sessionId发送给浏览器,       浏览器下次訪问server时,会将sessionId携带给server。server会根据该sessionId查找到相应的session对象(用户的状态能够写到session对象上)。     2,怎样创建session对象?       1),HttpSessionsession =request.getSession();//server会创建一个符合HttpSesion接口标准定义的session对象       2),HttpSessionsession = request.getSession(boolean flag);         当flag为true:         浏览器发送请求给server,server会查看请求中有无sessionId,若没有,则创建一个session对象;         若有,还要看要查找的那个session对象是否仍然存在(由于某种原因,比方超时限制,server会删掉session对象),有存在则返回;若不存在则创建一个新的对象         当flag为false:         浏览器发送请求给server,server会查看请求中有无sessionId,若没有,返回一个null;         若有,还要看要查找的那个session对象是否仍然存在(由于某种原因,比方超时限制,server会删掉session对象),有存在则返回;若不存在则返回一个null       3),HttpSessionsession =request.getSession();  等价于 HttpSessionsession = request.getSession(true);     3,session中的经常用法       session.setAttribute(Stringname,Object obj);       Objectsession.getAttribute(String name);//一般要得到后转型       session.removeAttribute(Stringname);//去除某个属性       Stringsession.getId();     4,设置sesion的最大不活动时间       session.setMaxInactiveInerval(intseconds);       session.invalidate();//使之马上失效     5,使用配置文件,设置session的失效时间,       方式一,设置整个server的配置失效时间,这个方式会影响到该server上的全部应用。Tomcat默认30分钟        TOMCAT_HOME/conf/web.xml        <session-config>         <session-timeout>30</session-timeout>        </session-config>       方式二,针对某个特定的应用进行配置失效时间        仅仅须要改动web.xml        <session-config>         <session-timeout>30</session-timeout>        </session-config>     6,样例:      A,对要保护的页面进行session验证       session的验证:        1,在登录成功后,写入数据做一个session属性加入          <%

转载于:https://www.cnblogs.com/bhlsheji/p/4298917.html

相关资源:数据结构—成绩单生成器
最新回复(0)