欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSP教程(三)--JSP中”预定义变量”的使用

程序员文章站 2024-02-26 08:04:58
为了简化jsp表达式和scriptlets中的代码,提供了8种自动定义的变量,有时称做implicit objects(固有对象)。它们是:request,response...
为了简化jsp表达式和scriptlets中的代码,提供了8种自动定义的变量,有时称做implicit objects(固有对象)。它们是:request,response,out,session,application,config,pagecontext,和 page。下面我们来详细的了解它们。

  request

  与request相联系的是httpservletrequest类,使您可以得到request的参数(通过getparameter方法),request 的类型(get,post,head,等等),和引入的http头(cookies,referer,等等)。严格来说,request是类servletrequest的一个子类而不是httpservletrequest类的,事实上,如果request的协议不是http,那麽它几乎不会工作。

  response

  对客户端的response与httpservletresponse 相连。请注意,因为输出流是放入缓冲的,所以可以设置http状态码和response头,尽管在标准的servlets中不允许将之发送到客户端。

  out

  这里使用printwriter类来发送输出到客户端。然而,为了使response对象有效,可使用一个printwrite类的使用缓冲的版本jspwriter。使用session的属性page directive,您可以自己定义缓冲的大小,甚至可以在使用了buffer属性后关闭缓冲。也请注意,out仅用于scriptlets之中,因为jsp表达式自动的放入输出流,所以极少需要明确的声明out。

  session

  应用与request相联系的httpsession类。因为session是自动创建的,即使没有一个引入的session,这种变量仍可绑定。有一个例外是,如果您用page directive关闭session,再试图使用session时将导致错误(在jsp页面向servlet转换时)。

  application

  使用serveletcontext类,通过使用getservletconfig().getcontext()得到。

  config

  是一个servletconfig类的对象。

  pagecontext

  这是jsp中的一个新的类pagecontext,用于精练特定服务器的特点时使用,如提高jspwriters的执行效率。如果您通过这个类访问而不是直接的,您的代码将仍然运行在“规则”的jsp /servlet引擎。

  page

  在java中不是很有用,它仅仅是用来保存在脚本的语言不是java时的时间。