JSP的内置对象

来源:互联网 发布:sql plus是什么 编辑:程序博客网 时间:2024/04/27 23:15

         JSP为了简化开发,提供了9个内置对象,用来实现很多JSP应用。在使用JSP内置对象时,不需要先定义这些对象,直接使用即可。

       1、request

         request对象所属的类型为javax.servlet.http.HttpServletRequest,其有效范围为request。该对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。通过request对象提供的相应方法可以处理客户端浏览器提交的HTTP请求中的各项参数。

       2、response

         response对象所属的类型为javax.servlet.http.HttpServletResponse,其有效范围为page。该对象用于响应客户请求,向客户端输出信息。它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至是文件。

       3、out

         out对象所属的类型为javax.servlet.jsp.JspWriter,其有效范围为page。该对象用于向客户端浏览器输出信息,并且管理应用服务器上的输出缓冲区。在使用out对象输出数据时,可以对数据缓冲区进行操作,以及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

       4、session

         session对象所属的类型为javax.servlet.http.HttpSession,其有效范围为session。session在网络中被称为“会话”。由于HTTP协议是一种无状态协议,也就是当一个客户向服务器发出请求,服务器接收请求,并返回响应后,该连接就结束了,而服务器并不保存相关的信息。为了弥补这一缺点,HTTP协议提供了session。通过session,当用户需要在应用程序的Web页面间进行跳转时,可以保持用户的状态,使整个用户会话一直存在下去,直到关闭浏览器。但是要注意的是,如果在一个会话中,客户端长时间不向服务器发出请求,session对象就会自动消失。这个时间取决于服务器的设置,例如,Tomcat服务器默认为30分钟。不过这个时间可以通过编写程序进行修改。

       5、application

         application对象所属的类型为javax.servlet.ServletContext,其有效范围为application。该对象用于保存所有应用程序中的公有数据。它在服务器启动时自动创建,在服务器停止时销毁。当application对象没有被销毁时,所有用户都可以共享该application对象。与session对象相比,application对象的生命周期更长,类似于系统中的“全局变量”。

       6、page

         page对象所属的类型为javax.servlet.jsp.HttpJspPage,其有效范围为page。该对象代表JSP本身,只有在JSP页面内才是合法的。page对象本质上是包含当前Servlet接口引用的变量,可以看作是this关键字的别名。

       7、pageContext

         pageContext对象所属的类型为javax.servlet.jsp.PageContext,其有效范围为page。该对象是JSP页面本身的上下文,它提供了唯一一组方法来管理具有不同作用域的属性,这些API在实现JSP自定义标签处理程序时非常有用。通过pageContext对象可以获取JSP页面的request、response、session、application、exception等对象。pageContext对象的创建和初始化都是由容器来完成的。

       8、config

         config对象所属的类型为javax.servlet.ServletConfig,其有效范围为page。该对象主要用于取得服务器的配置信息。通过pageContext对象的getServletConfig()方法可以获取一个config对象。当一个Servlet初始化时,容器把某些信息通过config对象传递给这个Servlet。开发者可以在web.xml文件中为应用程序环境中的servlet和JSP页面提供初始化参数。

       9、exception

         exception对象所属的类型为java.lang.Throwable,其有效范围为page。该对象用来处理JSP文件执行时发生的所有错误和异常,只有在page指令中设置为isErrorPage属性值为true的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。如果在JSP页面中出现没有被捕获到的异常,就会生成exception对象,并把exception对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的exception对象。

0 0