Servlet四大域对象、Jsp四大隐式对象、Jsp九大内置对象、十一大EL隐式对象区别和联系
的有关信息介绍如下:
四大域对象详解 JSP中隐式对象的名称 范围名称 具体的类型 pageContext page javax.servlet.jsp.PageContext request request javax.servlet.ServletRequest (显示完数据就没有用了) session session javax.servlet.http.HttpSession (显示完数据了,过一会自己还要用) application application javax.servlet.ServletContext (显示完数据了,大家都要用。不建议使用,如果使用,必须同步处理) JSP九大内置对象 JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse session HttpSession(有开关的:page指令的session属性的取值) application ServletContext config ServletConfig page this(当前Servlet对象) exception java.lang.Throwable(有开关的:page指令的isErrorPage属性改为true) out JspWriter pageContext javax.servlet.jsp.PageContext非常重要 pageContext有三大作用: 1、本身是一个域对象。同时还能操作其他三个域对象(PageContext ServletRequest HttpSession ServletContext) 本身表示的域范围 是本页面。 void setAttribute(String name,Object value) void removeAttribute(String name) Object getAttribute(String name) 操作其他的三个域对象 void setAttribute(Stringname,Objectvalue,intscope) void removeAttribute(String name,inscope) Object getAttribute(String name,int scope) 参数int scope是由PageContext类提供的静态变量规定的。 PageContext.PAGE_SCOPE:页面范围(是PageContext本身中的那个Map,代号page):仅在本页中可用 PageContext.REQUEST_SCOPE:请求范围(是ServletRequest中的那个Map,代号request):当有request请求时 PageContext.SESSION_SCOPE:请求范围(是HttpSession中的那个Map,代号session):用的很多,会话期间 PageContext.APPLICATION_SCOPE:请求范围(是ServletContext中的那个Map,代号application):用的不多,全局可用,也就是该应用都可用,注意:使用时,应该加上同步处理,而且同步应该包括少部分的代码,效率低。 (非常有用)Object findAttribute(String name):依次按照page request session application范围搜索指定名称的对象,找到为止 。 2、获取其他8个隐式对象 getxxx 3、提供了转发和包含的方便方法 RequestDispatcher rd = request.getRequestDispatcher("/url"); rd.forward(request,response); pageContext.forward("url"); pageContext.include("url"); 11大EL隐式对象 11大EL隐式对象中,其中一个是表示自身对象外,其余都是表示的Map结构 EL隐式对象名称 Java类型 备注 pageContext javax.servlet.jsp.PageContext 与JSP中的内置对象完全相同剩余的都是代表的Map集合 pageScope java.util.Map 代表着PageContext页面范围域那个Map requestScope java.util.Map 代表着ServletRequest请求范围域那个Map sessionScope java.util.Map 代表着HttpSession会话范围域那个Map applicationScope java.util.Map 代表着ServletContext应用范围域那个Map param java.util.Map 代表着请求参数。key:请求参数的名称。value:请求参数的值,它是一个字符串。 paramValues java.util.Map 代表着请求参数。key:请求参数的名称。value:请求参数的值,它是一个字符串数组。 header java.util.Map 代表着请求消息头。key:头名称。value:头值,它是一个字符串。 headerValues java.util.Map 代表着请求消息头。key:头名称。value:头值,它是一个字符串数组。 cookie java.util.Map 代表客户端提交的Cookie的Map。key:cookie的name。value:cookie对象本身 initParam java.util.Map 代表着全局初始化参数(web.xml中context-param).key:参数名称。value:参数值



