zoukankan      html  css  js  c++  java
  • 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 FileTomcatcofweb.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> 

  • 相关阅读:
    Java集合分析
    数据结构之红黑树
    数据结构之二叉查找树
    数据源 连接oracle
    Android使用jxl快速生成Excel表
    Java 条形码 二维码 的生成与解析
    setPreferredSize和setSize的区别及用法
    JAVA学习Swing章节布局管理器简单学习 补充(第四种布局理解)
    swing外观框架
    Java 实现ftp 文件上传、下载和删除
  • 原文地址:https://www.cnblogs.com/lm970585581/p/7163252.html
Copyright © 2011-2022 走看看