jsp中的session和上下文

Session的典型应用:

  1. 防止用户非法登录到某个页面。
  2. 网上商城的购物车
  3. 保存用户登录信息

注:多个请求要用的东西放在session中,多个会话之间要用的东西放在上下文中。

如何创建session

Servelt API 中有HttpSession接口,来封装session对象。HttpServletRequest来获取会话对象。

 

HttpSession  session=request.getSession();

 

 

主要方法:
1. getAttribute( String name )
获取指定名字name相联系的信息.

 

2.getAttributeNames()
返回Session对象中存储的每一个属性对象,其结果为一个类举的实例.

 

3. getCreationTime()
返回Session被创建的时间.最小单位为千分之一秒.

 

4.getId()
此方法返回惟一的标识,这些标识为每个Session而产生.当只有一个单一的值与一个Session联合时,或当日志信息与先前的Session有关时,它被当做键名用.

 

5.GetLastAccessedTime()
返回当前Session对象最后被客户发送的时间,最单位为千分之一秒.

 

6. GetMaxInactiveInterval()
返回总时间(秒),负值表示Session永远不会超时.该时间为该Session对象的生存时间.

 

7. removeAttribute( String name )
删除与提定名字name的相联系的信息.

 

8. setAttribute( String name , Java.lang.Object value )
设置指定名字name的属性值value,并将之存储在Session对象中.

9.session.invalidate()                                                                                                    是将session设置为失效,一般在退出时使用

 

问:会话的有效时间到底会有多长时间?

答:1.会话是由容器来创建的,长时间不用,容器会在30分钟后将它销毁,它是不能一直存放在服务器中的。

Tomcat中可以修改会话的时间

C:\Program File\Tomcat\cof\web.xml 

483-485

<session-config> 

 <session-timeout>30</session-timeout>

</session-config>

2.在项目中web.xml中可以设置会话的时间长度

<session-config> 

 <session-timeout>30</session-timeout>

</session-config>

12session的有效时间应用于所有会话对象有效时间长。

3,对于某一个会话设置有效时间,在Servlet中用session.setMaxAge()来设置

 

上下文的作用

利用上下文对象可以实现多个用户之间的数据共享。

上下文对象如何创建的?

ServeltServletContext  sc=this.getServletContext()

             sc. setAttribute(String key,Object value)

             sc. getAttribute(String key)

             sc. getInitParameter(String path)

ServletContextServletConfig本来没有直接关系,但容器起动后,把得到上下文方法封装在servletConfig中,因为servlet继承了。

所以,在Servlet 中就可以直接使用ServletContext  sc=this.getServletContext()方法得到ServletContext

JSP中 application.getAttribute(String key);

 

 问:ServletContext 什么时使用?

 

:  如果在一个应用中有多个ServletJSP都使用的变量,以后还可能被修改,就可以考虑用上下文参数

 

web.xml中配置:

 

<context-param>

 

 <param-name>level</param-name>

 

 <param-value>1</param-value>

 

 </context-param> 

 

posted @ 2017-07-13 21:36  H.U.C-王子  阅读(1019)  评论(0编辑  收藏  举报