###细节java
##9大对象是什么web
##out隐式对象 1.out隐式对象用户向客户端发送文本数据。 2.out对象是经过调用pageContext对象的getOut方法返回,其做用和用法与ServletResponse.getWriter方法返回的PrintWriter对象很是类似。 3.JSP页面中的out隐式对象的类型为JspWriter,JspWriter至关于一种带缓存功能的PrintWriter,设置JSP页面的page指令的buffer属性能够调整它的缓存大小,设置关闭它的缓存 4.只有向out对象中写入了内容,且知足以下任何一个条件时,out对象才去调用ServletResponse.getWriter方法,并经过该方法返回的PrintWriter对象将out对象缓冲区的内容真正写入到Servlet引擎提供的缓冲区中: (1). 设置page指令的buffer属性关闭了out对象的缓存功能 (2). out对象的缓冲区已满 (3). 整个JSP页面结束编程
question:缓存
<body> aaaaa <% out.write("bbbbb"); response.getWriter().write("ccccc") %>
输出结果是什么?session
answer:app
ccccc aaaaa bbbbb
##pageContext对象 pageContext对象是JSP技术中最重要的一个对象,它表明JSP页面的运行环境。jsp
1. 这个对象不只分装了对其它8大隐式对象的引用, 2. 它自身仍是一个域对象,能够用来保存数据 3. 而且,这个对象还封装了web开发中常常涉及到一些经常使用操做,例如引入和跳转其它资源,检索其它域对象中的属性等。
###经过pageContext得到其它对象 1.getException : 得到exception 2.getPage : 得到page 3.getRequest : 得到request 4.getResponse : 得到response 5.getServletConfig : 得到config 6.getServletContext : 得到application 7.getSession : 得到session 8.getOut : 得到out 9.pageContext封装其它8大内置对象的意义,思考:若是在编程过程当中,把pageContext对象传递给一个普通java对象,那么这个对象将具备什么功能。 pageContext主要用在 自定义标签开发技术里面 ###四个域对象 application>session>request>pageContext ###pageContext对象的方法this
1.public void setAttribute(name,value) 2.public Object getAttribute(name) 3.public void remoteAttribute(name)
###pageContext对象还封装了访问其它域的方法spa
1.public Object getAttribute(name,scope) 2.public void setAttribute(name,value,scope) 3.public void remoteAttribute(name,scope)
###表明各个域的常量翻译
1.PageContext.APPLICATION_SCOPE 2.PageContext.SESSION_SCOPE 3.PageContext.REQUEST_SCOPE 4.PageContext.PAGE_SCOPE
###findAttribute 查找各个域中的属性 按照域范围的从小到大的顺序查找: pageContext --> request --> session --> application ###引入和跳转到其它资源 1.PateContext类中定义了一个forward方法和两个include方法分别简化和替代RequestDispatcher.forward方法和include方法 2.方法接收的资源若是以"/"开头,"/"表明当前web应用。