jsp-九大内置对象
out隐式对象 *out隐式对象用于向客户端发送文本数据 *out对象是通过pageContext对象的getOut()方法返回的,其作用与ServletResponse.getWriter方法返回 的PrintWriter对象非常相似。 *jsp页面的out隐式对象类型为JspWriter,JspWriter相当于一种带有缓存功能的 PrintWriter,设置JSP页面的page指令的buffer属性可以调整它的缓存大小,甚至可以关闭它的资源 *只有向out对象写入了内容,且满足如下的一个条件的时候,out对象才去调用ServletResponse.getWriter方法, 并通过该方法返回的PrintWriter对象将out对象的缓冲区的内容真正写到Servlet引擎的缓冲区中: ---设置page指令的buffer属性关闭了out对象的缓存功能。 ----out对象的缓冲区已满 ---整个jsp页面结束 注意点: out.print("123"); response.getWriter().write(456+""); 结果为456123 原因是:JspWriter对象有缓冲区,首先将123写入该缓冲区,然后将456写入response的缓冲区,jsp程序结束后,将 JspWriter缓冲区的内容写到response缓冲区中 pageContext对象: *这个对象不仅封装了对其他8大内置对象的引用,它自身也是一个域对象,可以用来保存数据。 并且这个对象还封装了web开发中经常涉及到的一些应用操作,例如引入和跳转其他资源, 索引其他域对象中的属性等 *通过pageContext获得其他8个对象:用在自定义标签开发技术中 *pageContext对象中还封装了访问其他域的方法: 例如:request request.setAttribute("data","data"); out.println(pageContext.getAttribute("data",pageContext.REQUEST_SCOPE)); findAttribute(name)方法查找的顺序page->request->session->Application EL表达式${data}内部执行的时候就相当于pageContext。findAttribute("data"); *四个域 pageContext:page域-->作用于整个页面范围内 request域:请求范围内 session域:会话范围内 ServletContext域(称之为application域)应用程序范围内 *pageContext还定义了一个forward("URI")和include()方法(<jsp:include page="relativeURL"/>和PageContext.include("")都属于态包含)
现在的几乎什么都不懂,但是不代表以后的我也是这样。