日期:2014-05-16  浏览次数:20297 次

JSP技术(二)

JSP隐式对象

public void _jspService(HttpServletRequest request,

                     HttpServletResponseresponse)

              throwsjava.io.IOException, ServletException

{

       JspFactory_jspxFactory = null;

       PageContextpageContext = null;

       HttpSession session = null;

       ServletContextapplication = null;

       ServletConfigconfig = null;

       JspWriterout=null;

       Objectpage = this;

       ...

       ...

       Throwable exception =

              org.apache.jasper.runtime.JspRuntimeLibrary.getThrowable(request);

       if(exception != null) {

              response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);

       }

九大隐式对象

request response  pageContext  session application  config  out page  exception

out隐式对象

l      out隐式对象用于向客户端发送文本数据。

l      out对象是通过调用pageContext对象的getOut方法返回的,其作用和用法与ServletResponse.getWriter方法返回的PrintWriter对象非常相似。

l      JSP页面中的out隐式对象的类型为JspWriter,JspWriter相当于一种带缓存功能的PrintWriter,设置JSP页面的page指令的buffer属性可以调整它的缓存大小,甚至关闭它的缓存。

l      只有向out对象中写入了内容,且满足如下任何一个条件时,out对象才去调用ServletResponse.getWriter方法,并通过该方法返回的PrintWriter对象将out对象的缓冲区中的内容真正写入到Servlet引擎提供的缓冲区中:

ü      设置page指令的buffer属性关闭了out对象的缓存功能

ü      out对象的缓冲区已满

ü      整个JSP页面结束

out隐式对象工作原理

 

JSP指令

l      JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。在JSP2.0规范中共定义了三个指令:

?        page指令

?        Include指令

?        taglib指令

JSP指令简介

l      JSP指令的基本语法格式:

       <%@指令 属性名="值" %>

       举例:<%@ pagecontentType="text/html;charset=gb2312"%>

l      如果一个指令有多个属性,这多个属性可以写在一个指令中,也可以分开写。

       例如:

      &n