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

折月煮酒 提交于 2019-12-01 21:45:28

九大内置对象:

request:类型是HttpServletRequest,和Servlet里的HttpServletRequest一模一样。

response:类型是HttpServletResponse,和Servlet里的HttpServletResponse一模一样。JSP里基本用不到这个对象。

application:类型是ServletContext,和Servlet里的ServletContext一模一样。代表当前Web应用。

session:类型是HttpSession,是客户端与服务端的一次会话对象。

pageContext:类型是javax.servlet.jsp.PageContext。这个在Servlet里没有,是当前页面上下文对象,可以从这个对象中获取其他的8个对象:

page:类型是java.lang.Object,指当前JSP对应的Servlet对象的引用,因为类型是Object,只能调用Object类的方法,几乎不使用。

config:类型是ServletConfig,和Servlet里的ServletConfig一模一样。代表当前JSP对应的Servlet的ServletConfig对象,几乎不使用。

out:JSPWriter对象,用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

exception:只有在声明了 isErrorPage="true" 的JSP页面中,才有这个对象。在我们浏览JSP网页的过程中,如果JSP页面出现了没有捕获到的异常,那么就会生成一个exception对象,如果此时我们声明了errorPage="error.jsp",那么在出现异常的时候,网页会自动转发到errorPage指向的页面,并将exception对象传过去,在error.jsp里,如果声明了 isErrorPage="true",就可以知道详细的exception信息。如果没有声明errorPage="error.jsp",那么在出现异常的时候,网页上直接显示500。

四大作用域(从小到大):

pageContext:属性范围仅限于当前JSP页面。

request:属性范围仅限于一次请求。

session:属性范围仅限于一次会话。默认的一次会话是,浏览器从打开到关闭的过程中,用户的所有操作都属于同一次会话。PS:会话信息默认存在于浏览器缓存中,当浏览器关闭的时候清空缓存,如果设置了具体的会话时间,比如10分钟,那么会话信息存在于硬盘。

application:属性范围是当前Web应用。最大的范围。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!