Jsp中的四个域对象

时间:2022-09-02 18:21:39

 Jsp中的四个域对象

                            四个域对象:

                                               pageContext      page域                              

                                               request          request域

                                               session          session域

                                               application       context域

 

                            1)域对象作用:

                                               保存数据  和 获取数据 ,用于数据共享。

 

                            2)域对象方法:

                                               setAttribute("name",Object) 保存数据

                                               getAttribute("name")  获取数据

                                               removeAttribute("name") 清除数据

 

                            3)域对象作用范围:

                                               page域: 只能在当前jsp页面中使用(当前页面)

                                               request域: 只能在同一个请求中使用(转发)

                                               session域: 只能在同一个会话(session对象)中使用(私有的)

                                               context域: 只能在同一个web应用中使用。(全局的)

 

         1、如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只在当前jsp页面里。 从把变量放到pageContext开始,到jsp页面结束,你都可以使用这个变量。

 

        2、如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。所谓请求周期,就是指从http请求发起,到服务器处理结束,返回响应的整个过程。在这个过            程中可能使用forward的方式跳转了多个jsp页面,在这些页面里你都可以使用这个变量。

 

        3、如果把变量放到session里,就说明它的作用域是session,它的有效范围是当前会话。所谓当前会话,就是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程。这个过程可能包含多个请求响应。也就是说,只要用户不关浏览器,服务器就有办法知道这些请求是一个人发起的,整个过程被称为一个会话(session),而放到会话中的变量,

        4、如果把变量放到application里,就说明它的作用域是application,它的有效范围是整个应用。整个应用是指从应用启动,到应用结束。我们没有说“从服务器启动,到服务器关闭”是因为一个服务器可能部署多个应用,当然你关闭了服务器,就会把上面所有的应用都关闭了。application作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以使用。与上述三个不同的是,application里的变量可以被所有用户共用。如果用户甲的操作修改了application中的变量,用户乙访问时得到的是修改后的值。

 

*****指定域获取变量值:  ${pageScope.name} 

*****域范围: pageScoep / requestScope / sessionScope / applicationScope