JSP四大作用域和九大内置对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_35221883/article/details/79503389

摘录自https://www.cnblogs.com/mengzhen123/p/5968831.html

response作为JSP页面的处理结果返回给用户的响应,存储在该对象中。并提供了设置响应内容、响应头,以及重定向的方法。
Out用于将内容写入JSP页面实例的输出流中,提供了几个方法使你能用于向浏览器回送输出结果。
pageContext描述了当前JSP页面的运行环境(上下文),可以返回JSP页面的其它隐式对象及其属性的访问,同时,它还实现了将控制权从当前页面传输至其他页面的方法。
Session会话对象存储有关此会话的信息,也可以将属性赋给一个会话,每个属性都有名称和值。会话对象主要用于存储和检查属性值。
Application存储了运行JSP页面的servlet以及在统一应用程序中的任何Web组件的上下文信息。
Page表示当前JSP页面的servlet实例
Config该对象用于存取servlet实例的初始化参数
Exception在某个页面抛出异常时,将转发至JSP错误页面,提供此对象是为了在JSP中处理错误。值有在错误页面才可以使用<%%@page idErrorPage="true">


四大作用域:
1、如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只有在当前jsp页面里面,从把变量放在pageContext开始,到jsp页面结束,你都可以使用这个变量。
2、如果把变量放在request里面,就说明它的作用域是request,它的有效范围是当前请求周期。所谓请求周期,就是指从http请求发起,到服务器处理结束,返回响应的整个过程。在这个过程中可能使用forward的方式跳转了多个jsp页面,在这些页面里面你都可以使用这个变量。
3、如果把变量放在session里,就说明它的作用域是session,它的有效范围是当前会话。所谓当前会话,就是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程,这个过程可能包含多个请求响应。即,只要用户不关闭浏览器,服务器就有办法知道这些请求是一个人发起的,整个过程被称为一个会话(session),而放到会话中的变量。
4、如果把变量放到application里,就说明它的作用域是application,它的有效范围是整个应用。整个应用是指从应用启动,到应用结束。我们没有说“从服务器启动,到服务器关闭”是因为一个服务器可能部署多个应用,当然你关闭了服务器,就会把上面的应用都关闭了。application作用域里面的变量,他们的存活时间是最长的,如果不进行手工删除,他们就一直可以使用。
与上述三个不同的是,application里面的变量可以被所有用户共用。如果用户甲的操作修改了application中的变量,用户乙访问时得到的是修改后的值。这在其他scope中都是不会发生的,page、request、session都是完全隔离的,无论如何修改都不会影响其他。

猜你喜欢

转载自blog.csdn.net/weixin_35221883/article/details/79503389