总结web开发的四大域

 

 

 一、HttpSession域:

    1.作用域范围: 一次会话。 数据产生后,使用后,如果还需要继续使用的情况下,HttpSession域

    2.HttpSession作用: 在第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session。如果没有,就在内存中创建一个session并返回。当一短时间内(默认30分钟)session没有被使 用,则服务器会销毁该session。若服务器非正常关闭,未到期的session也会跟着销毁。若调用session提供的invalidate()方法,可以立即销毁session。

   3.实现的过程原理:HttpSession在服务器中,为浏览器创建独一无二的内存空间,在其中保存了会话相关的信息。服务器创建session出来后,会把session的id号,以cookie的形式回写给客户机,这样,只要客户机的浏览器不关,再去访问服务器时,都 会带着session的id号去,服务器发现客户机浏览器带session id过来了,就会使用内存中与之对应的session为之服务

  

 二、ServletXContext域 (application域):

  1.作用范围: 整个web应用程序

  2.ServletContext作用:由于一个web应用中的所有servlet共享同一个servletcontext对象,所以多个servlet通过servletcontext对象实现了数据在不同servlet之间的共享。

       a.所有jsp、servlet可以访问的到

       b.使用ServletContext接口可以直接访问web应用中静态资源文档结构

 注意:由于servletcontext域可使整个web应用共享该数据,因此而带来“线程安全”问题同样影响对转发的数据,故而需要使用request域。

三、ServletRequest域 

  1.ServletRequset作用范围:整个请求链(转发也包括)

  2.ServletRequest作用:数据只用一次。   Servlet中处理好的数据交给JSP显示,参数可以放在ServletRequest域中带过去

       方法有很多: 获取客户机信息、 获取请求头信息、获取请求参数等等特别多方法

  3. 使用原理:在service方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。

四、PageContext域

   1.PageContext作用范围: 整个JSP页面

   2. PageContext作用:

            1.可以获取其它八大隐式对象,可以认为它是一个入口对象

            2.获取其它所有域中的数据

           3.跳转到其它资源。提供了forward 和 sendRedirect方法,简化了转发和重定向的操作

pageContext对象,这个对象代表页面上下文,该对象主要用于访问JSP之间的共享数据。当对JSP的请求时开始,当响应结束时销毁。

 

posted @ 2019-03-04 23:05  toov5  阅读(1642)  评论(0编辑  收藏  举报