JSP脚本中的九个内置对象

来源:互联网 发布:淘宝网首页官网登录 编辑:程序博客网 时间:2024/06/10 05:29

1.application :它是javax.servlet.ServletContext的实例,该内置对象代表着JSP所属的当前web应用本身,可用于JSP页面或者Servlet之间进行交换信息,常用的有三个方法:setAttribute(String name , Object value) getAttribute(String name) getInitParameter(String paramName).
application通常有两个作用:
1>在正在web应用的多个JSP、Servlet之间共享数据
2>访问web应用的配置参数,通常是指web.xml文件中定义的web应用的初始化参数

<context-param>    <param-name>...</param-name>    <param-value>...</param-value></context-param>

2.config : 该内置对象代表着当前JSP的配置信息,不过JSP页面通常不需要配置,所以也就不存在配置信息,所以一般比较少使用该内置对象。该内置对象一般在Servlet中使用,因为Servlet需要在web.xml中进行配置。一般可以通过config内置对象来获取Servlet配置的初始化参数,Servlet在XML配置文件中配置初始化参数的方式:

<servlet>        <servlet-name>...</servlet-name>        <!-- 这里配置Servlet使用java实现类-->        <servlet-class>...</servlet-class>        <!--我们也可以将指定JSP页面配置成Servlet-->        <jsp-file>..</jsp-file>        <!--配置Servlet的初始化参数-->        <init-param>            <param-name>...</param-name>            </param-value>...</param-value>        </init-param>    </servlet>    <servlet-mapping>        <servlet-name>..</servlet-name>        <url-pattern>...</url-pattern>    </servlet-mapping>
然后我们就可以在该Servlet的代表java实现类或者映射的JSP页面中使用config内置对象来获取Servlet的初始化参数:    config.getInitParameter(String name,Object value) ;

3.exception对象:该对象是Throwable的实例,代表JSP脚本产生的错误和异常,是JSP页面异常机制的一部分。在异常产生的JSP压面中无须处理异常,JSP脚本包含的异常都是交给错误处理页面来处理

4.out对象:该对象代表一个页面输出流,通常用来在页面上输出变量值及变量。

5,pageContext对象:该对象代表页面上下文,主要用于访问JSP页面之间的共享数据。使用该对象可以访问page/request/session/application范围的变量。它的常用的方法有:
scope可指定如下几个常量:
PageContext.PAGE_SCOPE/PageContext,REQUEST_SCOPE/PageContext.SESSION_SCOPE/PageContext.APPLICATION_SCOPE

7.request对象:该对象封装用户请求,并且将用户的请求参数都封装到request对象中,可以说request代表着本次请求范围。request是HttpServletRequest接口的实例。主要提供了下面几个方法用来获取请求参数:
String getParameter(String name) : 获取name请求参数的值
String getAttribute(String name) : 获取request范围下的name的变量值
HttpServletRequest还提供了一些方法用来访问请求头:
String getHeader(String name) : 获取指定请求头的值
Enumeration getHeaderNames() : 获取所有请求头的名称
Enumeration getHeaders(String name) :获取指定请求头的多个值,当该请求头的值为数组的情况下
int getIntHeader(String name) : 获取指定请求头的值,并且将该值转换成整数类型

8.response对象:该内置对象代表着服务器对客户端的响应。一般情况下,程序不需要使用该内置对象来响应客户端请求,只需要使用out内置对象就可以了,直接使用该内置对象来输出响应信息更简单。只不过如果服务器端需要动态生成位图或者PDF文档等响应时,就不能使用out来响应客户端了。这时候必须使用response对象来响应客户端。
response对象相对于out对象来说,有点在于两个:
1.能生成非字符响应
2.能重定向请求,
3.可以向客户端增加Cookie
1>response是HttpServletResponse接口的实例,该接口提供了一个getOutputStream(),该方法用于返回响应输出字节流
2>HttpServletResponse接口还提供了一个sendRedirect(String path),用于重定向请求。用于重定向到path
3>HttpServletResponse接口还提供了一个addCookie(Cookie cookie)用于增加Cookie。增加Cookie分为三步:
1.创建Cookie实例,Cookie构造器为Cookie(String name,String value);
2.设置Cookie的生命期限,方法为:cookie.setMaxAge(int);
3.使用response.addCookie(Cookie cookie)方法写入客户端

9.session对象:该对象代表着一次用户会话,也就是从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开为止。session机制通常用于保存客户端的状态信息,这些状态信息需要保存到web服务器的硬盘上,所以要求session对象里的属性必须都是可序列化的,否则将会引发不可序列化的异常。

0 0
原创粉丝点击