JSP脚本中的9个内置对象

       JSP脚本中包含9个内置对象,这9个内置对象都是Servlet API接口的实例,只是JSP规范对他们进行了默认初始化,所以,他们已经是对象,可以直接调用。以下是9个内置对象的详细说明。

  • application: javax.servlet.ServletContext 的实例,该实例代表JSP 所属的Web 应用本身可用于JSP 页面,或者在Servlet 之间交换信息常用的方法有getAttribute(String a忧ame)、setA忧ibute(String attName String attValue)getlnitParameter(String paramName )等。
  •  config: javax.servlet.ServletConfig 的实例, 该实例代表该SP 的配置信息。常用的方法有getlnitParameter(String paramName )getlnitParameternames()等方法。事实, JSP 面通常无须配置,也就不存在配置信息。因此,该对象更多地Servlet 中有效。
  •  exception: java lang.Throwable 的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page isErrorPage 属性为rue 时,该对象才可以使用用的方法有getMessage ()printStackTrace()等。
  •  out: javax.servlet.jsp.JspWriter 的实例,该实例代表JSP 页面的输出流,用输出内容,形成HTML 页面。
  •  page : 代表该页面本身,通常没有太大用处。也就是Servlet 中的this , 其类型就是生成的Servlet 类,能用page 的地方就可用this 
  •  pageContext: javax.servlet.jsp.PageContext 的实例,该对象代表该SP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletcontext()getServletConfig()等。
  •  request: javax.servlet.httpHttpServletRequest 的实例,该对象封装了次请求, 客户端的请求参数都被封装在该对象里。这是个常用的对象,获取客户端请求参数必须使用该对象常用的方法有getParameter(String paramName)getParameterValues(String paramName)、setAttribute(String attrName,Object attrValue) getAttribute(String attrName) setCharacterEncoding(String env)等。
  • response: javax.servlet.http. HttpServletResponse 的实例,代表服务器对客户端的响应。通常很少使用该对象直接响应,而是使用out 对象,除非需要生成非字符响应。而response对象常用于重定向,常用的方法有getOutputStream()、sendRedirect(java.lang String.location )等。
  • session: javax.servlet. httpHttpSession 的实例,该对象代表次会话。当客户端浏览器与站点建立连接时,会话开始: 当客户端关闭浏览器时,会话结束。常用的方法有getAttribute(String attrName )、setAttribute(String attrName, Object attrValue)等。 

下面是代码实例:
     
     
//用于响应用户请求的方法
public void _jspService( HttpServletRequest request, HttpServletResponse response)
  1. throws java.io.IOException,Exception {
    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null ;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;
    try {
    1. response.setContentType ("text/html; charset=gb2312") ;
      paqeContext =_jspxFactory.getPageContext(this, request, response,
      null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = paqeContext.getServletContext();
      ...
        }
    }
         几乎所有的JS页面编译后Servle类都有如上所示的结构,上面Servlet 类的粗体代码表明:request 、response 两个对象是_jspService()方法的形参, Tomcat 调用该方法时会初始化这两个对象。page 、pageContext、application 、config 、session 、out 都是_jspServic()方法的局部变量,由该方法成初始化通过上面的代码不难发现JSP内置对象的实质: 它们要么是_jspService()方法的形参,要么是_jspService()方法的局部变量,所以我们可以直接调用这些对象,无须创建它们。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值