jsp(14)(九大隐式对象中 out pageContext)
jsp原理:
访问jsp页面,实际上是,web服务器交给jsp引擎处理,首先将jsp解析成sevlet(_jspServlet),然后请求交给servlet处理。所以第一次访问jsp比较慢,之后会直接访问这个servlet。
九大隐式对象:
在jsp解析成servlet的过程中,会将一些对象封装到service方法中,并且jsp也定义了这些对象对应的引用变量,在jsp可以直接使用。 (request response session application(servletContext) config exception page(this) out pagecotext )
前面的7个对象已经介绍过,这里介绍后面2个:
1.out:jsp的out对象是JspWriter类型(不同于Servlet的PrintWriter 的out对象),是带有缓冲的输出对象。
(缓存大小可以通过page指令设置,对象通过pageContex对象的getOut获取)
向out对象中写数据,只有满足以下3个条件才会调用servlet的输出对象真正写到servlet引擎的缓冲区再输出浏览器(servlet引擎还有一个缓冲区)。

实例:

原理是:

2.pageContext:代表jsp页面的运行环境,还有一些特别功能:


pageContex作为8个对象引用可以用来作为自定义的标签的参数(为了页面更加简洁,使用标签代替java语句块)
本身是4个域中的一个(范围最小一个域,仅当前页面),还可以获取其他域中属性。

代码示例:

简化了重定向和动态包含的方式:

include还有一个带参数重构方法
include(java.lang.String relativeUrlPath, boolean flush)
True if the JspWriter is to be flushed before the include,默认false,

浙公网安备 33010602011771号