JSP Http状态代码

  • Http状态代码

    在本章中,我们将讨论JSP中的Http状态代码。HTTP请求的格式和HTTP响应消息的格式相似,并将具有以下结构-
    • 初始状态行+ CRLF(回车+换行,即新行)
    • 零个或多个标题行+ CRLF
    • 空白行。一个CRLF
    • 可选的消息正文,例如文件,查询数据或查询输出。
    例如,服务器响应标头如下所示:
    
    HTTP/1.1 200 OK
    Content-Type: text/html
    Header2: ...
    ...
    HeaderN: ...
       (Blank Line)
    <!doctype ...>
    
    <html>
       <head>...</head>
       
       <body>
          ...
       </body>
    </html>
    
    状态行由HTTP版本(示例中为HTTP/1.1),状态代码(示例中为200)和与状态代码相对应的非常短的消息(示例中为OK)组成。下表列出了可能从Web服务器返回的HTTP状态代码和相关消息--
    状态码 消息 描述
    100 Continue 服务器仅接收到一部分请求,但是只要它没有被拒绝,客户端就应该继续请求
    101 Switching 协议服务器切换协议。
    200 OK 要求还可以
    201 Created 请求已完成,并且创建了新资源
    202 Accepted 该请求已接受处理,但处理未完成。
    203 Non-authoritative Information  
    204 No Content  
    205 Reset Content  
    206 Partial Content  
    300 Multiple Choices 链接列表; 用户可以选择一个链接并转到该位置。 最多五个地址。
    301 Moved Permanently 所请求的页面已移至新的URL。
    302 Found 所请求的页面已临时移至新的URL。
    303 See Other 可以在其他URL下找到请求的页面。
    304 Not Modified  
    305 Use Proxy  
    306 Unused 此代码在以前的版本中使用过。它不再使用,但是代码已保留。
    307 Temporary Redirect 所请求的页面已临时移至新的URL。
    400 Bad Request 服务器不理解该请求。
    401 Unauthorized 请求的页面需要用户名和密码。
    402 Payment Required 您还不能使用此代码。
    403 Forbidden 禁止访问请求的页面
    404 Not Found 服务器找不到请求的页面。
    405 Method Not Allowed 不允许在请求中指定的方法。
    406 Not Acceptable 服务器只能生成客户端不接受的响应。
    407 Proxy Authentication Required 您必须先通过代理服务器进行身份验证,然后才能处理此请求。
    408 Request Timeout 该请求花费的时间超过了服务器准备等待的时间。
    409 Conflict 由于冲突,请求无法完成。
    410 Gone 所请求的页面不再可用。
    411 Length Required 未定义“内容长度”。没有它,服务器将不接受请求。
    412 Precondition Failed 请求中给定的前提条件被服务器评估为false。
    413 Request Entity Too Large 服务器将不接受请求,因为请求实体太大。
    414 Request-url Too Long 服务器将不接受该请求,因为URL太长。当您将具有较长查询信息的“POST”请求转换为“GET”请求时,会发生这种情况。
    415 Unsupported Media Type 服务器将不接受该请求,因为不支持媒体类型。
    417 Expectation Failed  
    500 Internal Server Error 请求未完成。 服务器遇到意外情况。
    501 Not Implemented 请求未完成。 服务器不支持所需的功能。
    502 Bad Gateway 请求未完成。 服务器从上游服务器收到无效响应。
    503 Service Unavailable 请求未完成。 服务器暂时超载或关闭。
    504 Gateway Timeout 网关已超时。
    505 HTTP Version Not Supported 服务器不支持“http协议”版本。
  • 设置HTTP状态代码的方法

    可以使用以下方法在servlet程序中设置HTTP状态代码。这些方法可用于HttpServletResponse对象。
    方法 描述
    public void setStatus ( int statusCode ) 此方法设置任意状态码。 setStatus方法采用int(状态码)作为参数。 如果您的响应包含特殊的状态代码和文档,请确保在通过PrintWriter实际返回任何内容之前调用setStatus。
    public void sendRedirect(String url) 此方法将生成302响应以及提供新文档URL的Location标头。
    public void sendError(int code, String message) 此方法发送状态代码(通常为404)以及短消息,该短消息在HTML文档中自动格式化并发送给客户端。