实现有价值的IT服务
全部博文(709)
分类:
2005-11-22 20:30:55
摘要:JSP内置对象
内置对象是不需要声明,直接可以在JSP中使用的对象,JSP有以下几种内置对象:
request
request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie,
header, 和session数据的有用的方法。
response response表示HttpServletResponse对象,并提供了几个用于设置送回
浏览器的响应的方法(如cookies,头信息等)
out out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空
间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
session session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
application applicaton
表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
config config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
page page表示从该页面产生的一个servlet实例。
Servlet API中的几个对象
JSP提供了八个内部对象,而其中的五个内部对象对应于Servlet API中的七个对象,这也就使得我们正常理解并
熟练使用Servlet中的这七个对象显得尤其重要。这五个JSP的内部对象和Servlet API中的对象的对应关系是:
request对象对应于:javax.servlet.http.HttpServletRequest和javax.servlet.ServletRequest
response对象对应于:javax.servlet.http.HttpServletResponse和javax.servlet.ServletResponse
session对象对应于:javax.servlet.http.HttpSession
application对象对应于:javax.servlet.ServletContext
config对象对应于:javax.servlet.ServletConfig
javax.servlet.http.HttpServletRequest
这是一个接口,在我们提到接口之前,还是让我们来复习一下Java中接口的一个初步的解释:
接口在语法上与类相似,但是接口没有实例,使用接口,只是指定类必须做什么而不是如何做。
HttpServletRequest接口用来处理一个对Servlet的HTTP格式的请求信息。
javax.servlet.ServletRequest
这也是一个接口,这个接口定义一个Servlet引擎产生的对象,通过这个对象,Servlet可以获得客户端请求的数
据。这个对象通过读取请求体的数据提供包括参数的名称、值和属性以及输入流的所有数据。而javax.servlet.
http.HttpServletRequest也只是该接口的一个扩展,也就是说,该接口的所有方法也可以被javax.servlet.htt
p.HttpServletRequest所使用。
javax.servlet.http.HttpServletResponse接口
该接口用来描述一个返回到客户端的HTTP回应。
javax.servlet.ServletResponse接口
该接口用来定义一个Servlet引擎产生的对象,通过这个对象,Servlet对客户端的请求作出响应。这个响应应该
是一个MIME实体,可能是一个HTML页、图象数据或其他MIME的格式。javax.servlet.http.HttpServletResponse
接口是该接口的扩展。
javax.servlet.http.HttpSession接口
该接口用来描述一个session,至于什么是session我想在这里就没必要说了吧。
javax.servlet.ServletContext接口
该接口用来定义了一个Servlet的环境对象。也可是认为这是多个客户端共享的信息,它与session的区别在于应
用范围的不同,session只对应于一个用户。
javax.servlet.ServletConfig接口
该接口定义了一个对象,通过这个对象,Servlet引擎配置一个Servlet。每一个ServletConfig对象对应着一个
唯一的Servlet。
javax.servlet.http.Cookie类
这个类描述了一个cookie,cookie的作用其实与session很类似,只是cookie保存在客户端,session保存在服务
器端。
============================================
JSP内建对象的概念;这次主要讲一些内建对象的方法。
1、 Request对象主要方法:
☉ getAttribute(String name) 返回name属性值。
☉ getAttributeNames() 返回request对象所有属性名字。
☉ getCookies() 返回客户端的cookies对象。
☉ getHeader(String name) 获得HTTP协议定义的文件头信息。
☉ getHeaders(String name) 返回指定名字的request Header的所有值。
☉ getMethod() 获得客户端向服务器端传送数据的方法。
☉ getParameter(String name) 获得客户端传送给服务器端的参数值。
☉ getParameterNames() 获得客户端传送给服务器端的所有参数的名字。
☉ getParameterValue(String name) 获得指定参数的所有值。
☉ getProtocol() 获取客户端向服务器端传送数据所依据的协议名称。
☉ getQueryString() 获得查询字符串。
☉ getRequestURI() 获取发出请求字符串的客户端地址。
☉ getRemoteAddr() 获取客户端的IP地址。
☉ getRemoteHost() 获取客户端的名字。
☉ getServerName() 获取服务器的名字。
☉ getServletPath() 获取客户端所请求的脚本文件的文件路径。
☉ getServerPort() 获取服务器的端口号。
☉ setAttribute(String name , java.lang.Object objt) 设置名字为name的request参数的值,该值是由java.lang.Object类型的objt指定。
实例:[Request.jsp]
2、 Response对象主要方法:
☉ addCookie(Cookie cook) 添加一个cookie对象,用来保存客户端的用户信息。
☉ addHeader(String name , String value) 添加HTTP文件头信息。
☉ containsHeader(String name) 判断指定名字的HTTP文件头是否已经存在。
☉ sendError(int) 向客户端发送错误的信息。
☉ setHeader(String name , String value) 设置指定名字的HTTP文件头的值。
实例:定时刷新[refresh.jsp]
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.util.Date" %>
3、 Out对象主要方法:
☉ out.print/println (Boolean | char | char[] | double | float | int | long | object | string |) 输出各种类型的数据。
☉ out.newLine() 输出一个换行字符。
☉ out.flush() 输出缓冲区里的数据。
☉ out.close() 关闭输出流。
☉ out.clearBuffer() 清除缓冲区里的是数据,并把数据输出到客户端。
☉ out.clear() 清除缓冲区里的是数据,但不会把数据输出到客户端。
☉ out.getBufferSize() 获得缓冲区的大小。
☉ out.getRemaining() 获取缓冲区中没有被占用的空间的大小。
☉ out.isAutoFlush() 返回布尔值。
4、 Session对象主要方法:
☉ getAttribute(String name) 获取与指定名字name相联系的信息。
☉ getAttributeNames() 返回session对象中存储的每一个属性对象。
☉ getCreationTime() 返回session被创建的时间。
☉ getId() 返回唯一的标识,为每一个session而产生。
☉ getLastAccessedTime() 返回当前session对象最后被客户发送的时间。
☉ getMaxInactiveInterval() 返回总时间(秒)。
☉ removeAttribute(String name) 删除与指定名字name的相联系的信息。
☉ setAttribute(String name , java.lang.object value) 设置指定名字name的属性值value,并存储在session对象中。
☉ isNew()
☉ setMaxInactiveInterval(int interval)
☉
☉
☉
☉
5、 PageContext对象主要方法:
☉ getAttribute scope() 检索一个特定的已经命名对象的范围。
☉ findAttribute() 用来按照页面请求、会话以及应用程序范围的顺序实现对某个已经命名属性的搜索。
☉ setAttribute() 用来设置默认页面的范围或特定范围之中的已命名对象。
☉ removeAttribute() 用来删除默认页面范围或特定范围之中已命名的对象。
6、 Application对象主要方法:
☉ getAttribute(String name) 返回由name指定的名字application对象的属性的值。
☉ getAttributeNames() 返回所有application对象的属性的名字。
☉ getInitParameter(String name) 返回由name指定的名字的application对象的某个属性的初始值。
☉ getServletInfo() 返回servlet编译器当前版本信息。
☉ setAttribute(String name , Object object) 设置指定名字name的application对象的属性值object.
实例:在线人数统计[online.jsp]
<%@ page contentType="text/html;charset=gb2312" %>