JSP脚本中的九个内置对象

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值