第七章 Servlet会话编程

第七章 Servlet会话编程
7.1 会话是什么

7.3 会话的底层实现方式
第一种:cookie
会话功能借助Cookie实现。具体来说,就是当用户第一次访问Web应用的时候,Web服务器会把一个名为JSESSIONID,值为一个16进制数字的信息保存到Cookie中,例如:jessionid=612D980051204FC8AB3,通过这样的操作,Web服务器就可以标识每一个访问的用户,相当于Web服务器发给了每个访问用户一个独一无二的用户卡。
第二种:URL地址重写
就是把表示每个用户的jsessionid的值附加到URL中,例如:Servlet;jsessionid=431D980051204FC8DC3,在Web服务器端根据URL中不同的jsessionid值,实现会话功能。

7.4 Servlet会话编程:
在Servlet和JSP中,会话的功能被封装成HttpSession类型的对象,HttpSession对象通过request对象的getSession()获得。
HttpSession session = request.getSession();

HttpSession类中的常用主要方法:

Object getAtTribute(String name):
根据绑定对象的名字,返回对应的绑定对象,如果没有找到对应的对象,返回NULL。

void setAttribute(String name, Object value):
利用当前的会话对象,绑定需要保存的对象,第一个参数是绑定的对象名,第二个参数为需要绑定的对象。

void setMaxInactiveInterval(int interval):
设定当前会话对象的最大有效时间,时间的单位为秒。

int getMaxInactiveInterval():
返回最大非活动时间间隔,就是在一次会话中,两次请求的时间隔超过参数指定的值时,Session对象将失效并被自动销毁,本次会话结束。

long getCreationTime():
获取当前Session对象被创建的时间,返回是代表时间戳的一个整数。

String getId():
返回当前Session对象的jsessionid的数值。

long getLastAccessedTime():
获取当前Session对象最后被访问的时间,皇家马德里回代表时间戳的一个整数。

ServletContext getServletContext():
返回当前Session对象所属的ServletContext对象。

Enumeration getAttributeNames():
把当前的Session对象绑定的所有属性的名字以Enumeration对象返回。

boolean isNew():
判断当前的Session对象是不是新建的Session对象。

void removeAttribute(String name):
把对应名称的属性从session对象中删除。

void invalidate():
让当前的Session对象失效。

你可能感兴趣的:(编程,应用服务器,jsp,Web,servlet)