a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 186|回复: 2

[基础知识] JSP内置对象:response对象

[复制链接]
发表于 2012-8-4 12:37:27 | 显示全部楼层 |阅读模式
response对象的作用是处理HTTP连接信息,如cookie、HTTP文件头信息等,它有很多功能是和request对象相匹配的。它的重要性相对不如request对象、application对象、session对象,该对象所实现的方法如下 void addCookie( Cookie cookie ) ;添加一个Cookie对象,保存客户端信息。当用户访问某个站点时,可以使用addCookie()方法添加一个Cookie对象,并将它发送到客户端,保存到客户端操作系统的某个特定目录下面,用来保存客户端的特定信息。当该用户再次访问同一个站点时,浏览器会自动将这个Cookie对象发送回服务端,调用request对象的getCookies()方法可以获得所有存在的Cookie对象,getCookies()方法的返回值是一个数组。 Cookie对象对于不同的用户来说都是专有的。它的使用方法如下 $ [1 {! ]) c4 l
   $ o8 c6 {2 K+ X
  或
2 T7 ]8 C+ F  g5 K  
- L/ l: H5 F0 m. \7 S) q  2. void addDateHeader( String name, long value ) ;添加一个日期类型的HTTP头信息,覆盖同名的HTTP头信息。 8 E% M( ]7 b4 d+ f% F2 w* ]
  3. void addHeader( String name, String value ) ;添加一个HTTP头,覆盖同名的旧HTTP头。addHeader()方法的作用是添加HTTP文件头信息,这些信息将会传到客户端,发送特定的 HTTP文件头信息,可以控制客户端和服务器端的连接,例如,可以让客户端的浏览器每隔一分钟就刷新当前页面。如果同名的HTTP头文件已经存在,那么原来的HTTP文件头的值会被覆盖。   [7 @, D) N+ _& ^3 A
  它的使用方法如下
8 q0 {9 L& t* N4 f5 ?( {  j  1、    利用response对象禁止使用代理服务器缓存   
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:37:28 | 显示全部楼层

JSP内置对象:response对象

2、    利用response对象设定应答的MIME类型及附件 4 R  j  N. k7 U" o) u
  
3 j8 G3 K4 Z, q( K) K  4. void addIntHeader( String name, int value ) ;添加一个整型的HTTP头,覆盖同名的旧HTTP头。
" n& i/ v  c/ [! I  5. boolean containsHeader( String name ) ;判断指定的HTTP头是否存在。
! {2 U  o2 a) w! ?. g) d$ {' w! Q  6. String encodeRedirectURL( String url ) ;对sendRedirect()方法使用的URL进行编码。   n0 l7 O: l. v, ^6 _
  7. String encodeURL( String url ) ;将URL予以编码,回传包含session ID的URL。 ( N! H3 b# F/ ~5 x4 G
  8. void flushBuffer() ;强制把当前缓冲区的内容发送到客户端。
+ c* ^, ?3 z  V& r  9. int getBufferSize() ;取得以kb为单位的缓冲区大小。
1 c  Z+ I! t7 e" M# g" m8 p& u  10. String getCharacterEncoding() ;获取响应的字符编码格式。
8 j6 h1 y2 b% i5 a0 i, S6 a# O  11. String getContentType() ;获取响应的类型。 + g; r3 ?0 c$ X2 t/ e* n2 i
  12. Locale getLocale() ;获取响应的Locale对象。 + _8 `: G8 ?4 A6 c
  13. ServletOutputStream getOutputStream() ;返回客户端的输出流对象。
5 O: y7 k" }! C0 b; f8 j& w  14. PrintWriter getWriter() ;获取输出流对应的writer对象。 % }1 s1 g. c% V3 ~+ E
  15. boolean isCommitted() ;判断服务器端是否已经将数据输出到客户端。 # I& ~/ Y8 P' L( b  a
  16. void reset() ;清空buffer中的所有内容。 " {$ _- p6 p) D/ o3 ]' K. c
  17. void resetBuffer() ;情况buffer中所有的内容,但是保留HTTP头和状态信息。
9 |8 M5 Y& O, L2 x+ ]2 y; |5 W! K  18. void sendError( int xc, String msg ) ; void sendError( int xc ) ;
0 w7 ^) o; C1 r* l7 W/ ]' \9 d4 z3 W  发送错误,包括状态码和错误信息,例如505:服务器内部错误,404:网页找不到的错误等。它的使用方法如下   
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:37:29 | 显示全部楼层

JSP内置对象:response对象

19. void sendRedirect( String locationg ) ;把响应发送到另外一个位置进行处理。它的功能和动作指令的功能一模一样,就是向目标程序传递HTTP参数不是很方便。在使用sendRedirect()方法前,必须要确保JSP程序没有任何可见的输出被送往客户端。这和动作指令的使用条件是一样的。它的使用方法如下
7 {( v4 x6 t- K9 @+ ^* {' o& b4 }   ) X4 u. W: G. E% Q7 o& g7 _
  上面的JSP代码段使当前页面重定向到网址:http://127.0.0.1:8080/test/error.html。 * Q& c( x3 _" @% B3 R: ~
  还可以使用response对象重定向方法传送程序文件
$ L! }" {* E* B. Z; C$ T  
' H7 V+ u5 v8 O/ i$ ~* M  上面的JSP代码段使得当前页面定向到地址:http://127.0.0.1:8080/test/ virus.exe。这时候,客户端会弹出一个对话框,提示用户是否需要下载virus.exe程序,如果用户确认,那么浏览器会将virus.exe程序下载,并保存在用户指定的目录下面。 " {$ P5 B' [) A7 ~1 o( y
  
5 {" |- j0 L! g+ W  上面的JSP代码段同样实现了重定向的功能,不过没有使用sendRedirect()方法,而是使用setHeader()方法,向客户端的浏览器发送HTTP文件头——Location,浏览器接到这个HTTP文件头以后,就会自动打开Location所指定的新的URL地址。这也就是重定向了当前网页了。 8 o3 p. O8 Z& c, W
  20. void setBufferSize( int size ) ;设置以kb为单位的缓冲区大小。
% o: h% k" m- L6 j9 L9 a9 a' K) z  21. void setCharacterEncoding( String charset ) ;设置响应使用的字符编码格式。 : e+ m! T) G4 Z1 i
  22. void setContentLength( int length ) ;设置响应的BODY长度。 - k0 s* g  T/ @2 W% J% V" K7 P
  23. void setContentType( String type ) ;设置响应的类型。 # l5 _9 z% r0 A$ g+ x/ \/ H# O
  24. void setDateHeader( String name, long value ) ;设置指定名称的Data类型的HTTP头的值。
) t& M2 k/ [* U( F/ H' j  25. void setHeader( String name, String value ) ;设置指定名称的HTTP头的值。
/ C+ y8 Y1 b7 t% K  26. void setIntHeader( String name, int value ) ;设置指定名称的int类型的HTTP头的值。   27. void setStatus( int xc ) ;设置响应状态码,新值会覆盖当前值。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-7 06:26 , Processed in 0.336018 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表