Jsp--9大内置对象

Posted 绿色袋子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jsp--9大内置对象相关的知识,希望对你有一定的参考价值。

    JSP为了简化开发,提供了一些内置对象,用来实现很多JSP的应用。

  在JSP中一共预先定义了9个这样的内置对象,分别为,request,response,session,application,out,pageContext,config,exception和page

  一、request对象:

  1.访问请求参数:request对象用于处理HTTP请求中的各项参数,最常用的就是获取访问请求参数:request.getParameter("");如果指定参数不存在,将返回null,如果指定了参数名,但是未指定参数值,返回空字符串。

  2.在作用域中管理属性:在进行请求转发时,需要把一些数据传递到转发后的页面处理,这就需要request.setAttribute(String name,Object object)将数据保存到request范围内的变量中。可以通过getAttribute(String name)获取该变量的值

  3.获取cookie:在互联网中,cookie是一小段文本,在网络服务器中生成,并发送给浏览器,通过cookie,可以标识用户身份,记录用户名和密码,跟踪重复用户等,浏览器将cookie以key/value的形式保存到客户机的某个指定目录中,getCookies()方法,获取所有的cookie对象的集合;通过cookie对象的getName()方法可以获取到指定名称的cookie;通过getValue()方法获得cookie对象的值,使用response对象的addCookie()方法,可以将cookie对象发送到客户端保存cookie;在想cookie保存的信息中,若包括中文,则需调用java.net.URLEncode类的encode()方法进行编码。读取时调用该类的decode()方法解码。

  4.解决中文乱码问题:所有的request请求都是ISO-8859-1的,通过String的构造方法使用指定的编码类型重新构造一个String 对象new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");

  5.获取客户端相关信息

  6.显示国际化信息

  二、response对象

  1.重定向网页:response.sendRedirect(String Path);浏览器的地址栏路劲会改变,进行重定向操作后,request对象中的属性对象全部失效,并且开始了一个新的request对象。

  2.处理HTTP文件头:禁用缓存:在默认情况下,浏览器会对显示的网页内容进行缓存,再次访问时,若网页没有变化,则会直接显示缓存中的内容,在一些安全性较高的网站,通常需要禁用缓存。例子:通过设置HTTP头部的方法禁用缓存:<%response.setHeader("Cache-Control","no-store");response.setDateHeader("Expires","0")%>

设置页面自动刷新:例子:每隔10秒自动刷新网页一次:<%response.setHeader("refresh","10")%>,设置输出缓冲:通常情况下,服务器要输出到客户端的内容不会直接写在客户端,而是先写到一个输出缓冲区。

  三、session对象

  会话。由于HTTP协议是一种无状态的协议,即服务器不保存任何关于请求的信息。为了弥补这一去电,通过session可以在应用程序的web页面间进行跳转时,保存用户状态,使整个会话一直存下去,直到关闭浏览器,但是,在会话中,若客户端长时间不向服务器发出请求,session就会自动消失,这个时间取决于服务器,可以通过编程进行修改

  1.创建及获取客户的会话:setAttribute()和setAttribute()存储或读取客户相关的信息

  2.从会话中移除指定的绑定对象:removeAttribute(String name);

  3.销毁session:invalidate()

  4.会话超时的管理

  四、application对象

  application对象用于保存所有应用程序中的共有数据,在服务器启动时自动创建,服务器关闭时自动销毁,没有被销毁时,所有用户都可以共享该application对象,生命周期长,类似于系统的全局变量。

  1.访问应用程序初始化参数:应用初始化参数在web.xml文件中设置,通过<context-param>标记应用初始化参数

application.getInitParameter(String name):返回已命名的参数值

application.getAtrributeNames();返回已定义的应用程序初始化参数名的枚举

  2.管理应用程序环境属性

  五、out对象

  用户在浏览器内输出信息,并且管理应用服务器上的输出缓冲区,数超高压完毕,要及时关闭输出流

  1.向客户端输出数据:提供print()和printIn()两种向页面输出信息的方法,print()方法和使用JSP表达式输出信息相同

  2.管理响应缓冲:clear():清除缓冲区中的内容;clearBuffer():清除当前缓冲区中的内容;flush():刷新流;getBufferSize():获取缓冲区的大小

  六、pageContext对象

  获取页面上下文,通过它可以获取JSP页面的request、response、session、application、exception等对象

  七、config对象

  主要用于取的服务器的配置信息

  八、page对象

  page对象代表jsp本身,可以看做this关键词的别名

  九、exception对象

  用来处理JSP文件执行时发生的所有错误和异常,只有在page指令中设置为isErrorPage属性值为true的页面才可以使用

exception.getMessage()返回exception对象的异常信息字符串

 

 

 

注:page、pageContext、config、exception对象在实际开发中不常用

  

 

以上是关于Jsp--9大内置对象的主要内容,如果未能解决你的问题,请参考以下文章

JSP - 9大内置对象及其API

ASP.NET7大内置对象以及对应功能?

JSP核心-9大内置对象

探索JSP中的 "9大内置对象!"

jsp的9大内置对象详解

jsp9大内置对象