jsp脚本中包含9个内置对象,这9个内置对象都是servlet API接口的实例,只是jsp规范对他们进行了默认初始化(由jsp页面对应servlet的_jspservice()方法来创建这些实例)。也即是说,他们已经是对象,可以直接使用。9个内置对象为:
1、application:javax.servlet.servletContext的实例,该实例代表jsp所属的web应用本身,可用于jsp页面,或者在servlet之间交换信息。常用的方法有getattribute(string attname)、setattribute(string attname,string attvalue)和getinitparameter(string paramname)等。
2、config:javax.servlet.servletconfig的实例,该实例代表该jsp的配置信息。常用的方法有getinitparameter(string paramname)和getinitparameternames()等方法。事实上,jsp页面通常无需配置,也就不存在配置信息。因此,该对象更多的在servlet中有效。
3、exception:java.lang.throwable的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page的iserrorpage属性为true时,该对象才可以使用。常用的方法有getmessage()和printstacktrace()等。
4、out:javax .servlet.jsp.jspwriter的实例,该实例代表jsp页面的输出流,用于输出内容,形成html页面。
5、page:代表页面本身,也就是servlet中的this,其类型就是生成的servlet类,能用page的地方就用this。
6、pagecontext:javax.servlet.jsp.pagecontext的实例,该对象代表该jsp页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getservletcontext()和getservletconfig()等。
7、request:javax.servlet.http.httpservletrequest的实例,该对象封装了一次请求,客户端的请求参数都被封装在该对象中。这是一个常用对象,获取客户端请求参数必须使用该对象。常用的