JSP内置对象

  JSP内置对象是指不需要声明而直接可以在JSP网页中使用的对象,这写内置对象由容器实现和管理,所有的内置对象只有对Scriptlet或者表达式有效,在JSP声明中不可用,因为他们无需声明。

JSP内置对象映射表
对象名称 Java类型  作用域
request javax.servlet.ServletRequest request
respone javax.servlet.ServletRespone page
pageContext javax.servlet.jsp.PageContext page
session javax.servlet.http.HttpSession session
application javax.servlet.ServletContext application
out javax.servlet.jsp.JspWriter page
config javax.servlet.ServletConfig page
page java.lang.Object page
exception java.lang.Throwable page

 

 

 

1.请求对象request

  该对象封装了用户提交的请求信息,通过调用该对象相应的方法可以获取封装的信息。

  来自客户端的请求信息经Servlet容器处理后,由request对象进行封装。

 

 

2.应答对象response

  response对象对客户的请求做出动态的响应,向客户端发送数据。

 

3.输出对象out

  out对象被封装成javax.servlet.jsp.JspWriter接口。它表示为客户打开的输出流,printWriter使用它向客户端发送输出流。

 

4.会话对象session

  session对象是由服务器自动创建的,用于保存每个用户信息,以便跟踪每个用户的操作状态。

  它在第一个jsp页面被装载时自动创建,完成整个会话期的管理。

  从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束被称为一个会话。

  当一个客户首次访问服务器上的一个jsp页面时,jsp引擎产生一个session对象,同时分配一个String类型的ID号,jsp引擎将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。

 

5.页面索引对象pageContext

  pageContext对象,代表的是当前页面运行的一些属性,所有内置对象都可以从pageContext中取得

 

6.全局应用程序对象application

  application对象保存了一个应用系统中共有的数据。

  服务器启动后就产生了这个application对象,当客户在所访问网站的各个页面之间浏览时,这个application对象都是同一个,知道服务器关闭。

application与session的区别:

  所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。

 


7.配置对象config

  config对象被封装成javax.servlet.ServletConfig接口,它表示Servlet的配置,提供一些配置信息。当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet。

 

8.页面对象page

  page对象代表了正在运行的jsp页面产生的对象,是java.lang.Object类的一个实力。

  它代表jsp被编译后的Servlet。page对象只有在当前jsp页面范围之内使用才是合法的,类似于类中的this指针。

 

9.页面意外对象exception

  exception对象是java.lang.Throwable类的一个实例。

  它指的是页面运行时的意外。该对象存储了jsp文件运行时所产生的意外信息。

  此对象不能在一般的jsp文件中直接使用,如果要使用exception对象,必须在page指令中设定。

 设定代码为:

<%@page isErrorPage="true" %>

下面代码是使用exception对象捕捉页面意外的简单示例。

 1 <%@ page language="java" contentType="text/html; charset=GB18030"
 2     pageEncoding="GB18030" errorPage="Ex4_19.jsp"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10 <%
11     String str="Hello";
12     //下面这行会产生意外
13     Integer.parseInt(str);
14     %>
15 </body>
16 </html>
 1 <%@ page language="java" contentType="text/html; charset=GB18030"
 2     pageEncoding="GB18030" isErrorPage="true"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10 页面意外<br>
11 发生以下错误
12 <br><hr>
13 <%=exception.getMessage() %>
14 </body>
15 </html>

运行Ex4_18.jsp得到结果:

posted @ 2012-10-11 22:32  Jim-Huang  阅读(156)  评论(0编辑  收藏  举报