Response对象
对客户的请求做出动态的响应,向客户端发送数据。
(1)动态响应contentType属性
当一个用户访问一个JSP页面时,如果该页面用page指令设置页面的contentType属性时text/html,
那么JSP引擎将按照这个属性值做出反应。如果要动态改变这换个属性值来响应客户,
就需要使用Response对象的setContentType(String s)方法来改变contentType的属性值。
格式:response.setContentType(String s);
参数s可取text/html,application/x-msexcel,application/msword等。
(2)Response重定向
在某些情况下,当响应客户时,需要将客户重新引导至另一个页面,
可以使用Response的sendRedirect(URL)方法实现客户的重定向。例如:
response.sendRedirect("index.jsp");
response - javax.servlet.http.HttpServletResponse
response对象主要将JSP容器处理后的结果传回到客户端。
对客户的请求做出动态的响应,向客户端发送数据。
(1)动态响应contentType属性
当一个用户访问一个JSP页面时,如果该页面用page指令设置页面的contentType属性时text/html,
那么JSP引擎将按照这个属性值做出反应。如果要动态改变这换个属性值来响应客户,
就需要使用Response对象的setContentType(String s)方法来改变contentType的属性值。
格式:response.setContentType(String s);
参数s可取text/html,application/x-msexcel,application/msword等。
(2)Response重定向
在某些情况下,当响应客户时,需要将客户重新引导至另一个页面,
可以使用Response的sendRedirect(URL)方法实现客户的重定向。例如:
response.sendRedirect("index.jsp");
response - javax.servlet.http.HttpServletResponse
response对象主要将JSP容器处理后的结果传回到客户端。
方法:
1. void addCookie( Cookie cookie ) ;
添加一个Cookie对象,保存客户端信息。
1. void addCookie( Cookie cookie ) ;
添加一个Cookie对象,保存客户端信息。
2. void addDateHeader( String name, long value ) ;
添加一个日期类型的HTTP头信息,覆盖同名的HTTP头信息。
添加一个日期类型的HTTP头信息,覆盖同名的HTTP头信息。
3. void addHeader( String name, String value ) ;
添加一个HTTP头,覆盖同名的旧HTTP头。
添加一个HTTP头,覆盖同名的旧HTTP头。
4. void addIntHeader( String name, int value ) ;
添加一个整型的HTTP头,覆盖同名的旧HTTP头。
添加一个整型的HTTP头,覆盖同名的旧HTTP头。
5. boolean containsHeader( String name ) ;
判断指定的HTTP头是否存在。
判断指定的HTTP头是否存在。
6. String encodeRedirectURL( String url ) ;
对sendRedirect()方法使用的URL进行编码。
对sendRedirect()方法使用的URL进行编码。
7. String encodeURL( String url ) ;
将URL予以编码,回传包含session ID的URL。
8. void flushBuffer() ;
强制把当前缓冲区的内容发送到客户端。
将URL予以编码,回传包含session ID的URL。
8. void flushBuffer() ;
强制把当前缓冲区的内容发送到客户端。
9. int getBufferSize() ;
取得以kb为单位的缓冲区大小。
取得以kb为单位的缓冲区大小。
10. String getCharacterEncoding() ;
获取响应的字符编码格式。
获取响应的字符编码格式。
11. String getContentType() ;
获取响应的类型。
获取响应的类型。
12. Locale getLocale() ;
获取响应的Locale对象。
获取响应的Locale对象。
13. ServletOutputStream getOutputStream() ;
返回客户端的输出流对象。
返回客户端的输出流对象。
14. PrintWriter getWriter() ;
获取输出流对应的writer对象。
获取输出流对应的writer对象。
15. boolean isCommitted() ;
判断服务器端是否已经将数据输出到客户端。
判断服务器端是否已经将数据输出到客户端。
16. void reset() ;
清空buffer中的所有内容。
清空buffer中的所有内容。
17. void resetBuffer() ;
情况buffer中所有的内容,但是保留HTTP头和状态信息。
情况buffer中所有的内容,但是保留HTTP头和状态信息。
18. void sendError( int xc, String msg ) ;
void sendError( int xc ) ;
发送错误,包括状态码和错误信息。
void sendError( int xc ) ;
发送错误,包括状态码和错误信息。
19. void sendRedirect( String locationg ) ;
把响应发送到另外一个位置进行处理。
把响应发送到另外一个位置进行处理。
20. void setBufferSize( int size ) ;
设置以kb为单位的缓冲区大小。
设置以kb为单位的缓冲区大小。
21. void setCharacterEncoding( String charset ) ;
设置响应使用的字符编码格式。
设置响应使用的字符编码格式。
22. void setContentLength( int length ) ;
设置响应的BODY长度。
设置响应的BODY长度。
23. void setContentType( String type ) ;
设置响应的类型。
设置响应的类型。
24. void setDateHeader( String name, long value ) ;
设置指定名称的Data类型的HTTP头的值。
设置指定名称的Data类型的HTTP头的值。
25. void setHeader( String name, String value ) ;
设置指定名称的HTTP头的值。
设置指定名称的HTTP头的值。
26. void setIntHeader( String name, int value ) ;
设置指定名称的int类型的HTTP头的值。
设置指定名称的int类型的HTTP头的值。
27. void setStatus( int xc ) ;
设置响应状态码,新值会覆盖当前值。
设置响应状态码,新值会覆盖当前值。
成员(HTTP状态码):
1XX 临时响应
int SC_CONTINUE = 100 继续
int SC_SWITCHING_PROTOCOLS = 101 切换协议
2XX 成功
int SC_OK = 200 成功
int SC_CREATED = 201 已创建
int SC_ACCEPTED = 202 已接受
int SC_NON_AUTHORITATIVE_INFORMATION = 203 非授权信息
int SC_NO_CONTENT = 204 无内容
int SC_RESET_CONTENT = 205 重置内容
int SC_PARTIAL_CONTENT = 206 部分内容
3XX 重定向
int SC_MULTIPLE_CHOICES = 300 多种选择
int SC_MOVED_PERMANENTLY = 301 永久移动
int SC_MOVED_TEMPORARILY = 302 临时移动
int SC_FOUND = 302 已找到
int SC_SEE_OTHER = 303 查看其他位置
int SC_NOT_MODIFIED = 304 未修改
int SC_USE_PROXY = 305 使用代理
int SC_TEMPORARY_REDIRECT = 307 临时重定向
4XX 请求错误
int SC_BAD_REQUEST = 400 错误请求
int SC_UNAUTHORIZED = 401 未授权
int SC_PAYMENT_REQUIRED = 402 付款授予
int SC_FORBIDDEN = 403 禁止
int SC_NOT_FOUND = 404 未找到文件
int SC_METHOD_NOT_ALLOWED = 405 方法禁用
int SC_NOT_ACCEPTABLE = 406 不接受
int SC_PROXY_AUTHENTICATION_REQUIRED = 407 需要代理授权
int SC_REQUEST_TIMEOUT = 408 请求超时
int SC_CONFLICT = 409 冲突
int SC_GONE = 410 已删除
int SC_LENGTH_REQUIRED = 411 需要有效长度
int SC_PRECONDITION_FAILED = 412 为满足前提条件
int SC_REQUEST_ENTITY_TOO_LARGE = 413 请求的URL过长
int SC_REQUEST_URI_TOO_LONG = 414 请求实体过大
int SC_UNSUPPORTED_MEDIA_TYPE = 415 不支持的媒体类型
int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 416 请求范围不符合要求
int SC_EXPECTATION_FAILED = 417 为满足期望值
5XX 服务器错误
int SC_INTERNAL_SERVER_ERROR = 500 服务器内部错误
int SC_NOT_IMPLEMENTED = 501 尚未实施
int SC_BAD_GATEWAY = 502 错误网关
int SC_SERVICE_UNAVAILABLE = 503 服务不可用
int SC_GATEWAY_TIMEOUT = 504 网关超时
int SC_HTTP_VERSION_NOT_SUPPORTED = 505 HTTP版本不受支持
1XX 临时响应
int SC_CONTINUE = 100 继续
int SC_SWITCHING_PROTOCOLS = 101 切换协议
2XX 成功
int SC_OK = 200 成功
int SC_CREATED = 201 已创建
int SC_ACCEPTED = 202 已接受
int SC_NON_AUTHORITATIVE_INFORMATION = 203 非授权信息
int SC_NO_CONTENT = 204 无内容
int SC_RESET_CONTENT = 205 重置内容
int SC_PARTIAL_CONTENT = 206 部分内容
3XX 重定向
int SC_MULTIPLE_CHOICES = 300 多种选择
int SC_MOVED_PERMANENTLY = 301 永久移动
int SC_MOVED_TEMPORARILY = 302 临时移动
int SC_FOUND = 302 已找到
int SC_SEE_OTHER = 303 查看其他位置
int SC_NOT_MODIFIED = 304 未修改
int SC_USE_PROXY = 305 使用代理
int SC_TEMPORARY_REDIRECT = 307 临时重定向
4XX 请求错误
int SC_BAD_REQUEST = 400 错误请求
int SC_UNAUTHORIZED = 401 未授权
int SC_PAYMENT_REQUIRED = 402 付款授予
int SC_FORBIDDEN = 403 禁止
int SC_NOT_FOUND = 404 未找到文件
int SC_METHOD_NOT_ALLOWED = 405 方法禁用
int SC_NOT_ACCEPTABLE = 406 不接受
int SC_PROXY_AUTHENTICATION_REQUIRED = 407 需要代理授权
int SC_REQUEST_TIMEOUT = 408 请求超时
int SC_CONFLICT = 409 冲突
int SC_GONE = 410 已删除
int SC_LENGTH_REQUIRED = 411 需要有效长度
int SC_PRECONDITION_FAILED = 412 为满足前提条件
int SC_REQUEST_ENTITY_TOO_LARGE = 413 请求的URL过长
int SC_REQUEST_URI_TOO_LONG = 414 请求实体过大
int SC_UNSUPPORTED_MEDIA_TYPE = 415 不支持的媒体类型
int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 416 请求范围不符合要求
int SC_EXPECTATION_FAILED = 417 为满足期望值
5XX 服务器错误
int SC_INTERNAL_SERVER_ERROR = 500 服务器内部错误
int SC_NOT_IMPLEMENTED = 501 尚未实施
int SC_BAD_GATEWAY = 502 错误网关
int SC_SERVICE_UNAVAILABLE = 503 服务不可用
int SC_GATEWAY_TIMEOUT = 504 网关超时
int SC_HTTP_VERSION_NOT_SUPPORTED = 505 HTTP版本不受支持