Servlet-Http状态代码

HttpServlet源码分析 HttpServlet类是专门为HTTP协议准备的 HttpServlet在 jakarta.servlet.http.HttpServlet包下 目前接触的servlet规范中的接口: - jakarta.servlet.Servlet 核心接口(接口) - jakarta.servlet.ServletConfig Servlet配置信息接口(接口) - jakarta.servlet.ServletContext Servlet上下文接口(接口) -.. 阅读详情


HTTP请求和HTTP响应消息的格式相似,并且具有以下结构:

  • 初始状态行+ 回车换行
  • 零个或多个标题行+ 回车换行
  • 空行,即回车换行
  • 可选的消息正文,如文件,查询数据或查询输出。

例如,服务器响应标头如下所示:

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)组成。

以下是HTTP状态代码和可能从Web服务器返回的相关消息的列表:

码信息描述
100继续服务器仅接收到一部分请求,但是只要它没有被拒绝,客户端就应该继续请求
101交换协议服务器切换协议。
200好要求还可以
201已建立请求已完成,并且创建了新资源
202公认该请求被接受以进行处理,但是处理未完成。
203非权威信息
204无内容
205重设内容
206部分内容
300多项选择链接列表。用户可以选择一个链接并转到该位置。最多五个地址
301永久移动所请求的页面已移至新网址
302找到了所请求的页面已临时移至新网址
303查看其他可以在其他网址下找到请求的页面
304未修改
305使用代理服务器
306没用过此代码在以前的版本中使用过。它不再使用,但代码已保留
307临时重定向所请求的页面已临时移至新的URL。
400错误的请求服务器不理解该请求
401未经授权请求的页面需要用户名和密码
402需要付款您还不能使用此代码
403禁止的禁止访问请求的页面
404未找到服务器找不到请求的页面。
405不允许的方法不允许在请求中指定的方法。
406不能接受的服务器只能生成客户端不接受的响应。
407需要代理身份验证您必须先通过代理服务器进行身份验证,然后才能处理此请求。
408请求超时该请求花费的时间超过服务器准备等待的时间。
409冲突由于冲突,请求无法完成。
410走了所请求的页面不再可用。
411所需长度未定义“内容长度”。没有它,服务器将不接受请求。
412前提条件失败请求中给出的前提条件被服务器评估为false。
413请求的实体太大服务器将不接受请求,因为请求实体太大。
414请求网址太长服务器将不接受该请求,因为URL太长。当您将具有较长查询信息的“发布”请求转换为“获取”请求时发生。
415不支持的媒体类型服务器将不接受该请求,因为不支持媒体类型。
417预期失败
500内部服务器错误请求未完成。服务器遇到意外情况。
501未实现请求未完成。服务器不支持所需的功能。
502错误的网关请求未完成。服务器从上游服务器收到无效响应。
503暂停服务请求未完成。服务器暂时超载或关闭。
504网关超时网关已超时。
505不支持HTTP版本服务器不支持“ http协议”版本。

设置HTTP状态代码的方法

可以使用以下方法在servlet程序中设置HTTP状态代码。这些方法可用于HttpServletResponse对象。

序号方法与说明
1public void setStatus ( int statusCode ):此方法设置任意状态码。setStatus方法采用int(状态码)作为参数。如果您的响应包含特殊的状态代码和文档,请确保在使用PrintWriter实际返回任何内容之前调用setStatus 。
2public void sendRedirect(String url):此方法生成302响应以及提供新文档URL的Location标头
3public void sendError(int code, String message):此方法发送状态代码(通常为404)以及一条短消息,该短消息在HTML文档中自动格式化并发送给客户端。

HTTP状态代码示例

以下是向客户端浏览器发送407错误代码的示例,浏览器将向您显示“需要身份验证!!!” 信息。

// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

// Extend HttpServlet class
public class showError extends HttpServlet {
 
   // Method to handle GET method request.
   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set error code and reason.
      response.sendError(407, "需要身份验证!!!" );
   }
   
   // Method to handle POST method request.
   public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      doGet(request, response);
   }
}

现在调用上面的servlet将显示以下结果:
在这里插入图片描述
上一篇:Servlet-客户端请求
下一篇: Servlet-编写过滤器

查看httpServlet源码的包必须导入这个包才能看源代码 apache-tomcat-7.0.67-src----这个是查看httpServlet源码的包必须导入这个包才能看源代码 立即下载

相关推荐

【processing】创意编程

首先接到这个作业的时候,我是很崩溃的,我是真的不会画画QAQ,还画自己,这也太难了,于是我决定!还是祸害我爱豆吧!于是我从微博太太那里找了个图临摹 下面是太太的图 先给太太道歉!都是为了作业! 然后我画出来是这样子的 还可以!!!没有特别丑!(虽然也不是特别像吧) 但是画这个真是画死我了,下面贴上代码吧,没啥特殊的就是各种贝塞尔曲线各种圆各种线 //face stroke(70,27,11...

qq_25700571的博客 1267

servlet常见http状态报错:HTTP状态404: 请求的资源[/exp01/FirstServlet]不可用

HTTP报错 404 资源不可用

Mj_yong的博客 6万+

【一】PCIe基础知识

Linux PCIe基础知识

他山之石 可以攻玉 4万+

PHP 和 Servlet 通过Socket通信

本实验为了实现 PHP 和 Servlet 进行通信,费了不少周折。。。。。。。。而且网上现成的资料都不完整,怀着激动的心情将本实验遇到的错误和解决方法和大家分享: PHP 作为Client端,Servlet 作为 Server 端 在Server端,一般的做法是: 1. 写一个Servlet 类,并将该Servlet 设置为服务器启动时就加载的类。   login

veverrr的专栏 2505

【毕设实战】飞行器目标识别系统:基于YOLOv5的智能检测全流程教程,助你毕设脱颖而出

亲爱的同学,毕设是不是让你既期待创新又担心技术门槛?如果你的毕设方向是计算机视觉、智能检测,那这个绝对能成为你的“毕设王牌”。从数据准备到界面开发,我会把整个项目拆成“傻瓜式”步骤,让你能一步步做出属于自己的毕设成果。

know_F0727的博客 104

Android系统开发面试指南:系统Launcher岗位解析

本文针对上海礼聪Android系统开发岗位(侧重系统Launcher、充电/电池/USB底层开发)提供面试指南。内容涵盖应用开发(启动流程优化)、系统底层(充电状态机、USBOTG)、编程能力(线程安全LRU实现)、问题排查(ANR分析)及沟通协作等核心考点。通过5类典型问题及技术深度解析,帮助候选人系统准备,重点考察Framework源码理解、系统调试能力和工程思维。建议结合PowerManagerService等模块源码和systrace工具进行实践准备,同时注重技术表达与协作能力的展现。

郑伟强dev的专栏 933

HTTP 1.1状态代码及其含义

应当谨慎地使用那些只有HTTP 1.1支持的状态代码,因为许多浏览器还只能够支持HTTP 1.0。如果你使用了HTTP 1.1特有的状态代码,最好能够检查一下请求的HTTP版本号(通过HttpServletRequest的getProtocol方法)。 状态代码 状态信息 含义   100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)   101

我心飞翔 1478

微信小程序一键跳转公众号(使用 official-account 组件)

在当今移动互联网时代,用户体验已成为应用成功的关键因素之一。微信小程序作为一种便捷的应用形式,广泛应用于各个行业,为用户提供了丰富的服务和信息。然而,如何进一步提升用户体验,使其在小程序中能够更方便地获取相关信息,成为开发者需要关注的重要课题。实现一键跳转到公众号的功能,正是一个有效的解决方案。通过这一功能,用户可以轻松访问公众号,获取更多内容和服务,从而增强与品牌的互动和粘性。本文将详细介绍如何在微信小程序中实现这一功能,并提供相关的操作步骤和注意事项。

不迁怒,不贰过。小知识,大智慧。 3127

JavaWeb~ 学习Servlet常见方法与生命周期( HTTP Request、HTTP Response、 Servlet Cookies、Servlet Session)

Override。

2501_90363348的博客 671

大模型部署指南:SGLang 框架

本文介绍使用 SGLang 框架部署大模型

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 1611

手把手教你学simulink(41.4)--逆变器电场景示例:基于Simulink的主从控制的多逆变器协同控制(Multi-Inverter Coordinated Control)

需求分析在现代电力系统中,分布式发电和储能系统的广泛应用使得多个逆变器并联运行成为常见的应用场景。为了确保多个逆变器之间的协同工作,实现系统的稳定性和高效性,通常采用主从控制(Master-Slave Control)策略。主从控制通过一个主控制器(Master)来协调多个从控制器(Slave),确保所有逆变器的输出电压、频率和功率分配符合预期目标。本项目将基于Simulink平台,开发一个多逆变器协同控制系统,采用主从控制策略,实现对多个逆变器的精确控制和优化。

MHD0815的博客 306

HTTP应答状态

作 者 : 仙人掌工作室    7.1 状态代码概述    Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个应答头,一个空行,内容文档。下面是一个最简单的应答: HTTP/1.1 200 OKContent-Type: text/plainHello World   状态行包含HTTP版本、状态代码、与状态代码对应的简短说明信息。在大

winterld的专栏 1248

【知识分享】IBIS 建模指南 03

本文介绍了差分缓冲器的数据提取方法,重点分析了差分系统与单端系统的核心差异。文章详细阐述了差分接收机和驱动器的结构特点、工作原理及建模方法,指出全差分结构具有优异的电源噪声抑制能力。针对IBIS建模规范,作者提出了三维I-V曲面数据提取技术,并介绍了共模/差模电流分离、片上端接处理以及V-T表生成的解决方案。文章还探讨了差分电容(C_diff)的测量方法和数据简化策略,为复杂差分缓冲器的精确建模提供了系统化的技术路径。

一只豌豆象的博客 1282

JSP HTTP应答状态

7.1 状态代码概述    Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个应答头,一个空行,内容文档。下面是一个最简单的应答: HTTP/1.1 200 OK Content-Type: text/plain Hello World    状态行包含HTTP版本、状态代码、与状态代码对应的简短说明信息。在大多数情况下,除了Content-Type之外的

feng_sundy 的专栏 1143

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Java Servlet和JSP教程:七、HTTP应答状态

7.1 状态代码概述    Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个应答头,一个空行,内容文档。下面是一个最简单的应答: HTTP/1.1 200 OKContent-Type: text/plainHello World   状态行包含HTTP版本、状态代码、与状态代码对应的简短说明信息。在大多数情况下,除了Content-Type之外的所有应

cyp0207的专栏 471

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

服务器响应的生成:HTTP状态代码——HttpServletResponse接口应用

一,HTTP响应的格式              web服务器对客户端的响应一般包含:一个状态行,一些响应报头,一个空行和相应的文档构成。                                          1,状态行:                     状态行由HTTP版本,一个状态代码以及一段对应状态代码的简短消息组成,表示请求是否被理解或被满足。HTTP

sxqzxj的专栏 1187

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Servlets HTTP状态代码

转自:http://www.yiibai.com/servlets/servlets_http_status_codes.html 描述 Servlets HTTP状态代码 - HTTP请求的HTTP响应消息的格式是类似的,将有下面的结构。 的HTTP请求的HTTP响应消息的格式是类似的,将有下面的结构: An initial status li...

weixin_30551963的博客 68

七、HTTP应答状态

7.1 状态代码概述     Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个应答头,一个空行,内容文档。下面是一个最简单的应答: HTTP/1.1 200 OK Content-Type: text/plain Hello World    状态行包含HTTP版本、状态代码、与状态代码对应的简短说明信息。在大多数情况下,除了Co

courage89的专栏 611

记servlet和http错误代码和session的随笔

post和GET的区别? 1.安全性: GET方式:安全性差。因为是直接将数据显示在地址栏中,浏览器有缓冲,可记录用户信息。所以安全性低。 POST方式:安全性高。因为post方式提交数据时是采用的HTTP post机制,是将表单中的字段与值放置在 HTTP HEADER内一起传送到ACTION所指的URL中,用户是看不见的。 2.数据量: GET方式:数据量长度有限制,一般不超过2kb。...

这个人很懒,懒得CV 382

Java Servlet和JSP教程 5-6-7-

5.1 HTTP请求头概述    HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST)。如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说Content-Length必须出现。    下面是一些最常见的请求头: Accept:浏览器可接受的MIME类型

V_Vzhangyu的专栏 639

2009-04-17读书记录:《Servlet与JSP核心编程》第六章——HTTP状态代码

Http状态代码:来自浏览器或其它程序的请求,由一个http命令(Get或Post),至少一个请求报头(Host必须),一个空行以及一些查询数据。典型的请求格式如下 :GET  /Servlet/LongServlet HTTP/1.1Host:...Header2:...……Header n....(此行是空行) 其中Header2……Header n 是

redhaste的专栏 706
上一篇: Servlet-客户端请求
下一篇: Servlet-编写过滤器
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值