JSP和asp内置对象

引用
JSP内置对象(9个常用的内置对象)
引用
JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
pageContext 网页的属性是在这里管理
session 与请求有关的会话期
application servlet 正在执行的内容
out 用来传送回应的输出
config servlet的构架部件
page JSP网页本身
exception 针对错误网页,未捕捉的例外



1.request对象
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
序号 方 法 说 明
1 object getAttribute(String name) 返回指定属性的属性值
2 Enumeration getAttributeNames() 返回所有可用属性名的枚举
3 String getCharacterEncoding() 返回字符编码方式
4 int getContentLength() 返回请求体的长度(以字节数)
5 String getContentType() 得到请求体的MIME类型
6 ServletInputStream getInputStream() 得到请求体中一行的二进制流
7 String getParameter(String name) 返回name指定参数的参数值
8 Enumeration getParameterNames() 返回可用参数名的枚举
9 String[] getParameterValues(String name) 返回包含参数name的所有值的数组
10 String getProtocol() 返回请求用的协议类型及版本号
11 String getScheme() 返回请求用的计划名,如:http.https及ftp等
12 String getServerName() 返回接受请求的服务器主机名
13 int getServerPort() 返回服务器接受此请求所用的端口号
14 BufferedReader getReader() 返回解码过了的请求体
15 String getRemoteAddr() 返回发送此请求的客户端IP地址
16 String getRemoteHost() 返回发送此请求的客户端主机名
17 void setAttribute(String key,Object obj) 设置属性的属性值
18 String getRealPath(String path) 返回一虚拟路径的真实路径

   
2.response对象
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
序号 方 法 说 明
1 String getCharacterEncoding() 返回响应用的是何种字符编码
2 ServletOutputStream getOutputStream() 返回响应的一个二进制输出流
3 PrintWriter getWriter() 返回可以向客户端输出字符的一个对象
4 void setContentLength(int len) 设置响应头长度
5 void setContentType(String type) 设置响应的MIME类型
6 sendRedirect(java.lang.String location) 重新定向客户端的请求
 
3.session对象
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.
序号 方 法 说 明
1 long getCreationTime() 返回SESSION创建时间
2 public String getId() 返回SESSION创建时JSP引擎为它设的惟一ID号
3 long getLastAccessedTime() 返回此SESSION里客户端最近一次请求时间
4 int getMaxInactiveInterval() 返回两次请求间隔多长时间此SESSION被取消(ms)
5 String[] getValueNames() 返回一个包含此SESSION中所有可用属性的数组
6 void invalidate() 取消SESSION,使SESSION不可用
7 boolean isNew() 返回服务器创建的一个SESSION,客户端是否已经加入
8 void removeValue(String name) 删除SESSION中指定的属性
9 void setMaxInactiveInterval() 设置两次请求间隔多长时间此SESSION被取消(ms)  

session的创建时间:  
session的Id号:
客户端最近一次请求时间:  
两次请求间隔多长时间此SESSION被取消(ms):
是否是新创建的一个SESSION:
     
4.out对象
out对象是JspWriter类的实例,是向客户端输出内容常用的对象
序号 方 法 说 明
1 void clear() 清除缓冲区的内容
2 void clearBuffer() 清除缓冲区的当前内容
3 void flush() 清空流
4 int getBufferSize() 返回缓冲区以字节数的大小,如不设缓冲区则为0
5 int getRemaining() 返回缓冲区还剩余多少可用
6 boolean isAutoFlush() 返回缓冲区满时,是自动清空还是抛出异常
7 void close() 关闭输出流
 
缓存大小:
剩余缓存大小:
自动刷新:
 
   
5.page对象
page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例
序号 方 法 说 明
1 class getClass 返回此Object的类
2 int hashCode() 返回此Object的hash码
3 boolean equals(Object obj) 判断此Object是否与指定的Object对象相等
4 void copy(Object obj) 把此Object拷贝到指定的Object对象中
5 Object clone() 克隆此Object对象
6 String toString() 把此Object对象转换成String类的对象
7 void notify() 唤醒一个等待的线程
8 void notifyAll() 唤醒所有等待的线程
9 void wait(int timeout) 使一个线程处于等待直到timeout结束或被唤醒
10 void wait() 使一个线程处于等待直到被唤醒
11 void enterMonitor() 对Object加锁
12 void exitMonitor() 对Object开锁
 
6.application对象
application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。
序号 方 法 说 明
1 Object getAttribute(String name) 返回给定名的属性值
2 Enumeration getAttributeNames() 返回所有可用属性名的枚举
3 void setAttribute(String name,Object obj) 设定属性的属性值
4 void removeAttribute(String name) 删除一属性及其属性值
5 String getServerInfo() 返回JSP(SERVLET)引擎名及版本号
6 String getRealPath(String path) 返回一虚拟路径的真实路径
7 ServletContext getContext(String uripath) 返回指定WebApplication的application对象
8 int getMajorVersion() 返回服务器支持的Servlet API的最大版本号
9 int getMinorVersion() 返回服务器支持的Servlet API的最大版本号
10 String getMimeType(String file) 返回指定文件的MIME类型
11 URL getResource(String path) 返回指定资源(文件及目录)的URL路径
12 InputStream getResourceAsStream(String path) 返回指定资源的输入流
13 RequestDispatcher getRequestDispatcher(String uripath) 返回指定资源的RequestDispatcher对象
14 Servlet getServlet(String name) 返回指定名的Servlet
15 Enumeration getServlets() 返回所有Servlet的枚举
16 Enumeration getServletNames() 返回所有Servlet名的枚举
17 void log(String msg) 把指定消息写入Servlet的日志文件
18 void log(Exception exception,String msg) 把指定异常的栈轨迹及错误消息写入Servlet的日志文件
19 void log(String msg,Throwable throwable) 把栈轨迹及给出的Throwable异常的说明信息 写入Servlet的日志文件

 
7.exception对象
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象
序号 方 法 说 明
1 String getMessage() 返回描述异常的消息
2 String toString() 返回关于异常的简短描述消息
3 void printStackTrace() 显示异常及其栈轨迹
4 Throwable FillInStackTrace() 重写异常的执行栈轨迹
 
8.pageContext对象
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本 类名也叫pageContext。
序号 方 法 说 明
1 JspWriter getOut() 返回当前客户端响应被使用的JspWriter流(out)
2 HttpSession getSession() 返回当前页中的HttpSession对象(session)
3 Object getPage() 返回当前页的Object对象(page)
4 ServletRequest getRequest() 返回当前页的ServletRequest对象(request)
5 ServletResponse getResponse() 返回当前页的ServletResponse对象(response)
6 Exception getException() 返回当前页的Exception对象(exception)
7 ServletConfig getServletConfig() 返回当前页的ServletConfig对象(config)
8 ServletContext getServletContext() 返回当前页的ServletContext对象(application)
9 void setAttribute(String name,Object attribute) 设置属性及属性值
10 void setAttribute(String name,Object obj,int scope) 在指定范围内设置属性及属性值
11 public Object getAttribute(String name) 取属性的值
12 Object getAttribute(String name,int scope) 在指定范围内取属性的值
13 public Object findAttribute(String name) 寻找一属性,返回起属性值或NULL
14 void removeAttribute(String name) 删除某属性
15 void removeAttribute(String name,int scope) 在指定范围删除某属性
16 int getAttributeScope(String name) 返回某属性的作用范围
17 Enumeration getAttributeNamesInScope(int scope) 返回指定范围内可用的属性名枚举
18 void release() 释放pageContext所占用的资源
19 void forward(String relativeUrlPath) 使当前页面重导到另一页面
20 void include(String relativeUrlPath) 在当前位置包含另一文件
 

 
9.config对象
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)
序号 方 法 说 明
1 ServletContext getServletContext() 返回含有服务器相关信息的ServletContext对象
2 String getInitParameter(String name) 返回初始化参数的值
3 Enumeration getInitParameterNames() 返回Servlet初始化所需所有参数的枚举


引用
实用ASP.NET七大内置对象详解
ASP.NET的内置对象介绍
1.Response
2.Request
3.Server
4.Application
5.Session
6.Cooki


一、Response对象
Response对象是HttpResponse类的一个实例。该类主要是封装来自ASP.NET操作的HTTP响应信息。
1.Response对象的属性
   ① BufferOutput
   说明:获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页之后将其发送
   属性值:如果缓冲了到客户端的输出,则为true;否则为false。默认为true
   ② Cache
   说明:获取Web页的缓存策略(过期时间、保密性、变化子句)
   属性值:包含有关当前响应的缓存策略信息的HttpCachePolicy对象
   ③ Charset
   说明:获取或设置输出流的HTTP字符集
   属性值:输出流的HTTP字符集
   ④ IsClientConnected
   说明:获取一个值,通过该值指示客户端是否仍连接在服务器上
   属性值:如果客户端当前仍在连接,则为true;否则为false
2.Response对象的方法
   Response对象可以输出信息到客户端,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值。ASP.NET中引用对象方法的语法是“对象名.方法名”。“方法”就是嵌入到对象定义中的程序代码,它定义对象怎样去处理信息。使用嵌入的方法,对象便知道如何去执行任务,而不用提供额外的指令。
   ① Write
   说明:将指定的字符串或表达式的结果写到当前的HTTP输出
   ② End
   说明:停止页面的执行并得到相应结果
   ③ Clear
   说明:用来在不将缓存中的内容输出的前提下,清空当前页的缓存,仅当使用了缓存输出时,才可以利用Clear方法
   ④ Flush
   说明:将缓存中的内容立即显示出来。该方法有一点和Clear方法一样,它在脚本前面没有将Buffer属性设置为True时会出错。和End方法不同的是,该方法调用后,该页面可继续执行
   ⑤ Redirect
   说明:使浏览器立即重定向到程序指定的URL

二、Request对象
1.Request对象的属性
   ① QueryString
   说明:获取 HTTP 查询字符串变量集合
   属性值:NameValueCollection对象
   ② Path
   说明:获取当前请求的虚拟路径
   属性值:当前请求的虚拟路径
   ③ UserHostAddress
   说明:获取远程客户端的 IP 主机地址
   属性值:远程客户端的IP地址
   ④ Browser
   说明:获取有关正在请求的客户端的浏览器功能的信息
   属性值:HttpBrowserCapabilities对象
2.Request对象的方法
   ① BinaryRead
   说明:执行对当前输入流进行指定字节数的二进制读取
   ②MapPath
   说明:为当前请求将请求的URL中的虚拟路径映射到服务器上的物理路径


三、Application对象
Application对象是HttpApplicationState类的一个实例。
HttpApplicationState类的单个实例,将在客户端第一次从某个特定的ASP.NET应用程序虚拟目录中请求任何URL资源时创建。对于Web服务器上的每个ASP.NET应用程序,都要创建一个单独的实例。然后通过内部Application对象公开对每个实例的引用。Application对象使给定应用程序的所有用户之间共享信息,并且在服务器运行期间持久地保存数据。 因为多个用户可以共享一个Application对象,所以必须要有Lock和Unlock方法,以确保多个用户无法同时改变某一属性Application对象成员的生命周期止于关闭IIS或使用Clear方法清除。
1.Application对象的属性
   ① AllKeys
   说明:获取HttpApplicationState集合中的访问键
   属性值:HttpApplicationState对象名的字符串数组
   ② Count
   说明:获取HttpApplicationState集合中的对象数
   属性值:集合中的Item对象数。默认为0
2.Application对象的方法
   ① Add
   说明:新增一个新的Application对象变量
   ② Clear
   说明:清除全部的Application对象变量
   ③ Get
   说明:使用索引关键字或变数名称得到变量值
   ④ GetKey
   说明:使用索引关键字來获取变量名称
   ⑤ Lock
   说明:锁定全部的Application变量
   ⑥ Remove/RemoveAll
   说明:使用变量名称删除一个Application对象/删除全部的Application对象变量
   ⑦ Set
   说明:使用变量名更新一个Application对象变量的內容
   ⑧ UnLock
   说明:解除锁定的Application变量

四、Session对象
   Session对象是HttpSessionState的一个实例。该类为当前用户会话提供信息,还提供对可用于存储信息的会话范围的缓存的访问,以及控制如何管理会话的方法。
   Session的出现填补了HTTP协议的局限。HTTP协议工作过程是,用户发出请求,服务器端做出响应,这种用户端和服务器端之间的联系都是离散的,非连续的。在HTTP协议中没有什么能够允许服务器端来跟踪用户请求的。在服务器端完成响应用户的请求后,服务器端不能持续与该浏览器保持连接。从网站的观点上看,每一个新的请求都是单独存在的,因此,当用户在多个主页间转换时,就根本无法知道他的身份。
   使用Session对象存储特定用户会话所需的信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。
   当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将中止该会话。
   当用户第一次请求给定的应用程序中的aspx文件时,ASP.NET将生成一个SessionID。SessionID是由一个复杂算法生成的号码,它唯一标识每个用户会话。在新会话开始时,服务器将Session ID作为一个cookie存储在用户的Web浏览器中。
   在将SessionID cookie存储于用户的浏览器之后,即使用户请求了另一个.aspx文件,或请求了运行在另一个应用程序中的.aspx文件,ASP.NET仍会重用该cookie跟踪会话。与此相似,如果用户故意放弃会话或让会话超时,然后再请求另一个.aspx文件,那么ASP.NET将以同一个cookie开始新的会话。只有当服务器管理员重新启动服务器,或用户重新启动Web浏览器时,此时存储在内存中的SessionID设置才被清除,用户将会获得新的SessionID   cookie。
   通过重用SessionID cookie,Web应用程序将发送给用户浏览器的cookie数量降为最低。另外,如果用户决定该Web应用程序不需要会话管理,就可以不让Web应用程序跟踪会话和向用户发送SessionID。
   Session对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,另外其还经常被用在鉴别客户身份的程序中。要注意的是,会话状态仅在支持cookie的浏览器中保留,如果客户关闭了cookies选项,Session也就不能发挥作用了。
   ASP.NET的Sessions非常好用,能够利用Session对象来对Session全面控制,如果需要在一个用户的Session中存储信息,只需要简单地直接调用Session对象就可以了,下面就是个例子:
Session["Myname"]=Response.form("Username");
Session["Mycompany"]=Response.form("Usercompany");
   应注意的是,Session对象是与特定用户相联系的。针对某一个用户赋值的Session对象是和其他用户的Session对象完全独立的,不会相互影响。换句话说,这里面针对每一个用户保存的信息是每一个用户自己独享的,不会产生共享情况。
   很明显,对于不同的用户,Session对象的Myname变量和Mycompany变量各自是不同的,当每个人在网站的不同主页间浏览时,这种针对个人的变量会一直保留,这样作为身份认证是十分有效的。
1.Session对象的属性
   ① Count
   说明:获取会话状态集合中Session对象的个数
   属性值:Session对象的个数
   ② TimeOut
   说明:获取或设置在会话状态提供程序终止会话之前各请求之间所允许的超时期限
   属性值:超时期限(以分钟为单位)
   ③ SessionID
   说明:获取用于标识会话的唯一会话ID
   属性值:会话ID
2.Session对象的方法
   ① Add
   说明:新增一个Session对象
   ② Clear
   说明:清除会话状态中的所有值
   ③ Remove
   说明:删除会话状态集合中的项
   ④ RemoveAll
   说明:清除所有会话状态值

三、Server对象
   Server对象是HttpServerUtility的一个实例。该对象提供对服务器上的方法和属性的访问。
1.Server对象的属性
   ① MachineName
   说明:获取服务器的计算机名称
   属性值:本地计算机的名称
   ② ScriptTimeout
   说明:获取和设置请求超时
   属性值:请求的超时设置(以秒计)
2.Server对象的方法
   ① CreateObject
   说明:创建COM 对象的一个服务器实例
   ② CreateObjectFromClsid
   说明:创建COM 对象的服务器实例,该对象由对象的类标识符(CLSID)标识
   ③ Execute
   说明:使用另一页执行当前请求
   ④ Transfer
   说明:终止当前页的执行,并为当前请求开始执行新页
   ⑤ HtmlDecode
   说明:对已被编码以消除无效HTML字符的字符串进行解码
   ⑥ HtmlEncode
   说明:对要在浏览器中显示的字符串进行编码
   ⑦ MapPath
   说明:返回与Web服务器上的指定虚拟路径相对应的物理文件路径
   ⑧ UrlDecode
   说明:对字符串进行解码,该字符串为了进行HTTP传输而进行编码并在URL中发送到服务器
   ⑨ UrlEncode
   说明:编码字符串,以便通过URL从Web服务器到客户端进行可靠的HTTP传输

六、Cookie对象
   Cookie 是一小段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递。用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。
  Cookie跟Session、Application类似,也是用来保存相关信息,但Cookie和其他对象的最大不同是,Cookie将信息保存在客户端,而Session和Application是保存在服务器端。也就是说,无论何时用户连接到服务器,Web站点都可以访问cookie信息。这样,既方便用户的使用,也方便了网站对用户的管理。
   ASP.NET包含两个内部Cookie集合。通过HttpRequest的Cookies集合访问的集合包含通过Cookie标头从客户端传送到服务器的Cookie。通过HttpResponse的Cookies集合访问的集合包含一些新Cookie,这些Cookie在服务器上创建并以Set-Cookie标头的形式传输到客户端。
1.Cookie对象的属性
   ① Name
   说明:获取或设置Cookie的名称
   属性值:Cookie的名称
   ② Value
   说明:获取或设置Cookie的Value
   属性值:Cookie的Value
   ③ Expires
   说明:获取或设置Cookie的过期日期和时间
   属性值:作为DateTime实例的Cookie过期日期和时间
   ④ Version
   说明:获取或设置此Cookie符合的HTTP状态维护版本
   属性值:此Cookie符合的HTTP状态维护版本
2.Cookie对象的方法
   ① Add
   说明:新增一个Cookie变量
   ② Clear
   说明:清除Cookie集合内的变量
   ③ Get
   说明:通过变量名或索引得到Cookie的变量值
   ④ GetKey
   说明:以索引值来获取Cookie的变量名称
   ⑤ Remove
   说明:通过Cookie变量名来删除Cookie变量

七、Cache(隐藏)对象:
   对于每个应用程序域均创建该类的一个实例,并且只要对应的应用程序域保持活动,该实例便保持有效。有关此类实例的信息通过HttpContext对象的Cache属性或Page对象的Cache属性来提供。
1.Cache对象的属性
   ① Count
   说明:获取存储在缓存中的项数。当监视应用程序性能或使用ASP.NET跟踪功能时,此属性可能非常有用
   属性值:存储在缓存中的项数
   ② Item
   说明:获取或设置指定键处的缓存项
   属性值:表示缓存项的键的String对象
2.Cache对象的方法
   ① Add
   说明:将指定项添加到 Cache 对象,该对象具有依赖项、过期和优先级策略,以及一个委托(可用于在从Cache 移除插入项时通知应用程序)
   ② Get
   说明:从 Cache 对象检索指定项
   ③ Remove
   说明:从应用程序的 Cache 对象移除指定项
   ④ Insert
   说明:向Cache对象插入项。使用此方法的某一版本改写具有相同key参数的现有Cache项

你可能感兴趣的:(应用服务器,jsp,浏览器,asp.net,asp)