Jsp的九大内置对象~
这些对象在JSP中无需创建就可以使用!
(1)out(JspWriter):等同与response.getWriter(),用来向客户端发送文本数据;
(2)config(ServletConfig):对应“真身”中的ServletConfig;
(3)page(当前JSP的真身类型):当前JSP页面的“this”,即当前对象;
(4)pageContext(PageContext):页面上下文对象,下面说;
(5)exception(Throwable):只有在错误页面中可以使用这个对象;
(6)request(HttpServletRequest):即HttpServletRequest类的对象;
(7)response(HttpServletResponse):即HttpServletResponse类的对象;
(8)application(ServletContext):即ServletContext类的对象;
(9)session(HttpSession):即HttpSession类的对象,不是每个JSP页面中都可以使用,如果在某个JSP页面中设置<%@page session=”false”%>,说明这个页面不能使用 session。
这里有一些问题需要注意:
在这9个对象中有很多是极少会被使用的,例如:config、page、exception基本不会使用。
在这9个对象中有两个对象不是每个JSP页面都可以使用的:exception、session。
有没有在这之间发现四大域对象呢?是的,它们是,request,session,application和pageContext。
之前说过pageContext,这里再说一下它的作用:
(1)域对象功能:pageContext也是域对象,它的范围是当前页面。它的范围也是四个域对象中最小的!
(2)代理其它域对象功能:可以使用pageContext来代理其它3个域对象的功能,也就是说可以使用pageContext向request、session、application对象中存取数据。
(3)获取其他内置对象:一个pageContext对象等于所有内置对象,即1个当9个。这是因为可以使用pageContext对象获取其它8个内置对象。
———— JspWriter getOut():获取out内置对象;
———— ServletConfig getServletConfig():获取config内置对象;
———— Object getPage():获取page内置对象;
———— ServletRequest getRequest():获取request内置对象;
———— ServletResponse getResponse():获取response内置对象;
———— HttpSession getSession():获取session内置对象;
———— ServletContext getServletContext():获取application内置对象;
———— Exception getException():获取exception内置对象;