文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>JSP内建对象的概念

JSP内建对象的概念

时间:2005-11-22  来源:softiger

JSP内建对象的概念

摘要: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]
<html>
<body>
<h1> Request Information</h1>
<hr>
JSP Request Method:<%= request.getMethod() %>
<br>
Request URI:<%= request.getRequestURI() %>
<br>
Request Protocol:<%= request.getProtocol() %>
<br>
Servlet Path:<%= request.getServletPath() %>
<br>
Remote User:<%= request.getRemoteUser() %>
<br>
Remote Address:<%= request.getRemoteAddr() %>
<br>
Remote host:<%= request.getRemoteHost() %>
<br>
Path info:<%= request.getPathInfo() %>
<br>
Path translated:<%= request.getPathTranslated() %>
<br>
Query String:<%= request.getQueryString() %>
<br>
Content Length:<%= request.getContentLength() %>
<br>
Content Type:<%= request.getContentType() %>
<br>
Server Name:<%= request.getServerName() %>
<br>
Server Port:<%= request.getServerPort() %>
<br>
Authorization Scheme:<%= request.getAuthType() %>
<hr>
The Browser you are using is <%= request.getHeader("User-Agent") %>
<hr>
</body>
</html>
 

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" %>
<html>
<head>
<title>定时刷新页面</title>
</head>
<body>
<b>本页用来说明response对象</b>
<br>
<b>当前时间为:</b>
<% response.setHeader("refresh","10"); %>
<%
out.println(new Date());
%>
</body>
</html>

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" %>
<body onunload="javascript:cancel();">
<%
Integer i = (Integer)application.getAttribute("counter");
String name = (String)application.getAttribute("onlineName");
//StringBuffer total = new StringBuffer(name);
%>
<font color="blue">
<% out.println((String)session.getAttribute("username")); %>您好:
</font>
<br>
<font color="red">
当前在线人数: <%= i %>
</font>
<br>
<font color="green">
在线人总名册: <% out.println(name); %>
</font>

</body>

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载