JSP教程(三)--JSP中”预定义变量”的使用
程序员文章站
2023-12-18 15:21:34
为了简化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时的时间。
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时的时间。