1.request:HttpServletRequest(servlet程序中使用的request对象)
该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息, 即使用该对象可以获取用户提交信息。 客户端的请求参数都被封装到这个对象里面
2.response:HttpServletReponse
对客户的请求做出动态的响应,向客户端发送数据。
3.session:HttpSession(tomcat采用饿汉式为jsp创建session对象)
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。
4.application:ServletContext
服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。
5.config:ServletConfig(关于一个servlet的描述信息,是application的一部分)
javax.servlet. ServletConfig 的实例,该实例代表该JSP 的配置信息。它包含了当前JSP/Servlet所在的WEB应用的配置信息。
常用的方法有getInitPararneter(String paramNarne) 及getInitPararneternarnes() 等方法。事实上, JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。
6.out:JspWriter(等价于servlet里使用过的PrintWriter)
out 对象是一个输出流,来源于Java.io.Writer类,它用于发送数据输出流到客户端。 out对象用于各种数据的输出。
7.page:this
对应this关键字。JSP网页本身
page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:
Object page = this;
在JSP页面中,很少使用page对象。
8.exception:Exception(只有isErrorPage=true的jsp页面有)
该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page 的isErrorPage 属性为true 时,该对象才可以使用。常用的方法有getMessageO和printStackTraceO等。
9.pageContext:pageContext(jsp特有的,功能最强大的隐含对象)
javax.servlet.jsp.PageContext 的实例,对象直译时可以称作“页面上下文”对象,代表的是当前页面运行的一些属性,通过此对象可以拿到其他8大对象,使用该对象可以访问页面中的共享数据。常用的方法有getServletContextO和getServletConfigO等。
隐含对象的本质
隐含对象本质就是servlet程序service方法的局部变量,在当前页面代码翻译前,tomcat为service方法创建和初始化了这些局部变量。(声明脚本代码不属于service方法,不能使用service方法的局部变量)