JSP的九大内置对象及四大作用域

JSP九大内置对象
Servlet:tomcat初始化的类
HttpServletRequest
HttpServletResponse
ServletConfig
ServletContext

JSP 内置9个对象,9个对象的来源都是原Servlet中内容。
内置:Tomcat已经初始化好了,定义好名字直接用就行了。

application : 应用对象服务器对象
request:请求对象
response : 响应对象
page : 页面对象
pageContext :页面对象
session : 会话对象
out : 输出对象
exception :异常对象
config :配置信息对象

少了一个异常对象。 通过pageContext可以获取到异常对象

作用:是Tomcat转化JSp时候产生的9个对象,没有私有的原因是早起model1的时候页面经常编写Java代码,这些对象为了让程序员可以方便使用所以指定的。 现在版本中已经基本不会直接使用这个9个内置对象了。

JSP四大作用域
回顾Servlet中三个作用域分别是
request
session
ServletContext

JSP中四个作用域[由小到大]
pageContext : 页面作用域
request : 请求作用域
session : 会话作用域
application = ServletContext :服务器作用域

示例1:在同一个页面中分别向四个作用域中存放值,在本页中获取值
scope.jsp

结论:在同一个页面中,所有作用域的值都能获取。
示例2:在scope.jsp通过转发跳转到sc2.jsp 页面中继续获取四个值。

sc2.jsp

结果

总结:pageContext作用域的值消失,意味着当前的作用域只限于本页面使用。

示例3:相同的两个页面。去掉forward跳转,先访问scope.jsp在手动访问sc2.jsp
结果:

结论:request作用域的值消失了, 原因是不同的页面没有经过请求,所以作用域的值没有被携带到sc2.jsp中。

示例4:先访问scope.jsp之后关闭浏览器,在访问sc2.jsp

结论:session 作用域的值消失,session 可以作用域是跨页面的但是如果浏览器关闭相当于回话结束,那么作用域的值也就无法获取了。

示例5:先访问scope.jsp之后重启服务器,在访问sc2.jsp

结论:最坚挺的一个application 也消失了,证明了服务器对象的消失是重启之后。

你可能感兴趣的:(javaWeb)