JSP 中九大内置对象和四大作用域

来源:互联网 发布:java web工作内容 编辑:程序博客网 时间:2024/05/29 19:56

一、JSP 中九大内置对象为:Request , Response , Session ,Application ,Page,Out,Pagecontext,Config,Exception

1、Request对象 
     该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以 获取用户提交的信息。例如我们在FORM表单中填写的信息等,是最常用的对象常用的方法有:getParameter、getParameterNames 和getParameterValues 通过调用这几个方法来获取请求对象中所包含的参数的值。 
 2、Response对象

response表示服务器端对客户端的一种回应,response 对象主要将JSP 处理数据后的结果传回到客户端。经常用来设置HTTP标题,添加cookie,设置响应内容的类型和状态,发送HTTP重定向和编码URL。作用域为page(页面执行期)。

3、Session 对象

大多数现代的服务器端技术都将信息存储在服务器上,只在浏览器和服务器之间传递标识符,这就是会话跟踪(Session Tracking)。当浏览器第一次访问某个特定应用程序中的某个JSP页面时,session就开始了,直到与服务器断开连接为止,session才结束。session对象不仅可以保存信息,还提供了设置session失效时间,生成唯一的编号等功能。具体方法可参见API。

4、Application 对象

application对象与session对象相似,不同的是application对象有所有的用户共同使用。例如网站中当前在线用户的数量,在所有的客户端浏览器上都能够显示。服务器启动后,就会自动创建application对象。application对象有服务器创建,也有服务器自动清除,不能有用户创建和清除。

5、Page对象

page对象代表JSP本身,更准确地说它代表JSP被转译后的Servlet,它可以调用Servlet类所定义的方法。page对象其实是java.lang.Object类的实例对象,它可以使用Object类的方法,例如,hashCode()、toString()等方法。page对象在JSP程序中的应用不是很广,但是java.lang.Object类还是十分重要的,因为JSP内置对象的很多方法的返回类型是Object。

6、Out 对象

     out 对象能把结果输出到网页上。作用域为page。

      out主要是用来控制管理输出的缓冲区(buffer)和输出流(output stream)。

7、PageContext 对象

   pageContext 对象直译时可以称作“页面上下文”对象,代表的是当前页面运行的一些属性

       它是 javax.servlet.jsp.PageContext 类的实例对象,可以使用PageContext类的方法。实际上,pageContext对象提供了对JSP页面所有的对象及命名空间的访问。pageContext对象的方法可以访问除本身以外的8个JSP内部对象,还可以直接访问绑定在application对象、page对象、request对象、session对象上的Java对象。pageContext对象相当于JSP程序中所有对象功能的集成者。

8、Config 对象

      config对象是在一个servlet程序初始化时,JSP引擎向它传递消息用的,此消息包括servlet程序初始化时所需要的参数及服务器的有关信息。Config对象其实是实现javax.servlet.ServletConfig接口的类的实例对象。

9、Exception对象

     exception对象就是专门负责处理JSP文件在执行过程中发生错误时这些问题的。但要注意exception对象一般要和page指令一起配合使用,通过指定某个页面为错误处理页面,把JSP文件执行时所有可能发生的错误全部集中到一个页面上去处理。这不仅提高了系统的统一性,程序流程也变得清晰简单。

      getMessage() :该方法返回错误信息。

     printStackTrace(): 该方法以标准错误的形式输出错误和错误的堆栈。

     toString(): 该方法以字符串的形式返回对异常的描述。

二、作用域指的是变量的有限期限

1、如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只在当前jsp页面里。 从把变量放到pageContext开始,到jsp页面结束,你都可以使用这个变量。

2、如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。所谓请求周期,就是指从http请求发起,到服务器处理结束,返回响应的整个过程。在这个过程中可能使用forward的方式跳转了多个jsp页面,在这些页面里你都可以使用这个变量。

3、如果把变量放到session里,就说明它的作用域是session,它的有效范围是当前会话。所谓当前会话,就是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程。这个过程可能包含多个请求响应。也就是说,只要用户不关浏览器,服务器就有办法知道这些请求是一个人发起的,整个过程被称为一个会话(session),而放到会话中的变量,就可以在当前会话的所有请求里使用。

4、如果把变量放到application里,就说明它的作用域是application,它的有效范围是整个应用。整个应用是指从应用启动,到应用结束。我们没有说“从服务器启动,到服务器关闭”,是因为一个服务器可能部署多个应用,当然你关闭了服务器,就会把上面所有的应用都关闭了。

application作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以使用。

0 0