为了简化页面的开发过程,JSP提供了内置对象,他们由容器实现和管理,不需要预先申明,不需要实例化就可以直接使用,主要有九大内置,其中前五比较常用
1,out对象。
out对象被封装维javax.servlet.jsp.JspWriter接口,表示为客户打开输出流,用来向客户输出数据。
主要方法:print():输出数据到客户端,close():关闭输出流,clear()清除缓冲区数据,flush()立即将缓冲区数据输出到客户端显示。等等方法
2,request对象
request对象被封装维javax.servlet.jsp.HttpServletRequest接口,来自客户的请求经过Servlet容器处理以后,由Servlet容器处理后,再由request对象进行封装。
主要方法:getAttribute(String name):返回由name属性指定的属性值,如果不存在返回null。getCookie():返回客户端的cookie对象。等等
3,response对象
response对象被封装维javax.servlet.jsp.HttpServletResponse接口,该接口封装了JSP的响应,这个响应被分发到客户端以响应客户的请求。和request一样,由servlet容器生成
作为jspService()方法的一个参数由容器传递给jsp页面。
主要方法:addCookie(Cookie cookie):添加一个cookie对象用来保存客户的信息。其他的没咋用过
4,session对象
session对象用来保存每个用户的信息,用来跟踪每个用户的操作状态。由于http请求是无状态协议,所以一个请求响应后连接就关闭了,下一次连接的时候服务器无法判断
连接是否属于同一客户,解决这一问题的方法就是用session来记录连接相关的信息。session对象被封装为javax.servlet.jsp.HttpSession接口,其中session的相关信息保存在客户端,
session的ID保存在Cookie中。
主要方法:getAttribute(String name ):获取name相关联的属性。setAttribute():指定name的属性值为value,并存在session对象中。getCreationTime():获取session被创建的时间
5,application对象
application对象为所有用户保存共享信息,其与session对象至少两处不同,1服务器为每个客户建立一个一个session对象来保存每一个客户的信息,对不同的客户来说,session都是不同的,但是application对象都是相同的一个。2生命周期,session关闭浏览器就没了,application的生命周期就是从服务器启动到服务器关闭。
主要方法:getAttribute(String name):返回由name名字制定的application对象的属性值。getAttributeNames():返回所有application对象的值。
6,pageContext对象
被封装为javax.servlet.jsp.pageContext接口,为JSP页面包装页面的上下文信息,换言之pageContext对象存储着与本JSP页面相关的信息(例如属性内置对象等)。
常用方法:forward(java.lang.String relativeUrlPath):把页面重定向到相关另一个网页或者servlet组件上。getAttribute(String name)或者getAttribute(String name,int scope):用来检索共享范围内
以参数name为名字的属性值。
7,config对象
config对象被封装成javax.servlet.ServletConfig接口,他表示Servlet的配置。当一个servlet初始化的时候,容器把某些信息通过
config对象传给这个servlet,
常用方法:getServletContext():返回执行者的Servlet上下文。getServletNames();返回Sevlet的名字。
8,page对象
page对象是java.lang.Object类中的一个实例。他是jsp实现类对象的一个句柄,page对象代表的是jsp本身。或者说编译以后的Sevlet对象。当使用java作为脚本语言的时候,也可以使用this来引用page对象
9,exception对象
exception对象是javax.lang.Throwable类中的一个实例。