|
网站首页
|
业界新闻
|
技术文章
|
视频教程
|
下载频道
|
程序源码
|
个人空间
|
编程论坛
|
 
 
 
您现在的位置:
编程中国
>>
技术教程
>>
Web开发
>>
JSP
>>
JSP教程
>> 正文
► Java Servlet和JSP教程
Java Servlet和JSP教程
作者:
仙人掌工作室
阅读人次:
……
文章来源:
仙人掌工作室
发布时间:2004-9-27
网友评论(
)条
 
七、HTTP应答状态
7.1 状态代码概述
Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个应答头,一个空行,内容文档。下面是一个最简单的应答:
HTTP/1.1 200 OK
Content-Type: text/plain
Hello World
状态行包含HTTP版本、状态代码、与状态代码对应的简短说明信息。在大多数情况下,除了Content-Type之外的所有应答头都是可选的。但Content-Type是必需的,它描述的是后面文档的MIME类型。虽然大多数应答都包含一个文档,但也有一些不包含,例如对HEAD请求的应答永远不会附带文档。有许多状态代码实际上用来标识一次失败的请求,这些应答也不包含文档(或只包含一个简短的错误信息说明)。
Servlet可以利用状态代码来实现许多功能。例如,可以把用户重定向到另一个网站;可以指示出后面的文档是图片、PDF文件或HTML文件;可以告诉用户必须提供密码才能访问文档;等等。这一部分我们将具体讨论各种状态代码的含义以及利用这些代码可以做些什么。
7.2 设置状态代码
如前所述,HTTP应答状态行包含HTTP版本、状态代码和对应的状态信息。由于状态信息直接和状态代码相关,而HTTP版本又由服务器确定,因此需要Servlet设置的只有一个状态代码。
Servlet设置状态代码一般使用HttpServletResponse的setStatus方法。setStatus方法的参数是一个整数(即状态代码),不过为了使得代码具有更好的可读性,可以用HttpServletResponse中定义的常量来避免直接使用整数。这些常量根据HTTP 1.1中的标准状态信息命名,所有的名字都加上了SC前缀(Status Code的缩写)并大写,同时把空格转换成了下划线。也就是说,与状态代码404对应的状态信息是“Not Found”,则HttpServletResponse中的对应常量名字为SC_NOT_FOUND。但有两个例外:和状态代码302对应的常量根据HTTP 1.0命名,而307没有对应的常量。
设置状态代码并非总是意味着不要再返回文档。例如,虽然大多数服务器返回404应答时会输出简单的“File Not Found”信息,但Servlet也可以定制这个应答。不过,定制应答时应当在通过PrintWriter发送任何内容之前先调用response.setStatus。
虽然设置状态代码一般使用的是response.setStauts(int)方法,但为了简单起见,HttpServletResponse为两种常见的情形提供了专用方法:sendError方法生成一个404应答,同时生成一个简短的HTML错误信息文档;sendRedirect方法生成一个302应答,同时在Location头中指示新文档的URL。
上一页
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
...
下一页
>>
 
文章录入:静夜思 责任编辑:静夜思
上一篇文章: 没有了
下一篇文章:
JSP入门教程
 
相关文章
JBuilder2005实战JSP之创建数据库表
JBuilder2005实战JSP之日志和部署
JBuilder2005实战JSP之程序功能介绍
JBuilder2005实战JSP之特殊页面
JBuilder2005实战JSP之错误处理
JBuilder2005实战JSP之切换控制
JBuilder2005实战JSP之登录页面
JSP技术简介之四
JSP技术简介之三
JSP技术简介之二
原创地带
24小时热门帖子
|
设为首页
|
加入收藏
|
联系我们
|
广告服务
|
管理登录
|
Copyright ©2004 - 2006, BC-CN.NET, Inc. All Rights Reserved
本站服务器及带宽由
济南速海网络
赞助