PLC解密网-PLC培训学习-工控自动化人才技术交流

超级管理员

453

帖子

1378

回复

3116

积分

楼主
发表于 2020-02-09 20:41:59 | 查看: 1854 | 回复: 0

HttpServletResponse接口是ServletResponse的子接口,HttpServlet类的重载service()方法及doGet()和doPost()等方法都有一个HttpServletResponse类型参数:

protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException

HttpServletResponse 接口提供了与 HTTP 协议相关的一些方法,Servlet 可通过这些方法来设置HTTP响应头或向客户端写Cookie。

addHeader(String name, String value):向HTTP响应头中加入一项内容。

sendError(int sc):向客户端发送一个代表特定错误的HTTP响应状态代码。

sendError(int sc, String msg):向客户端发送一个代表特定错误的HTTP响应状态代码,并且发送具体的错误消息。

setHeader(String name, String value):设置HTTP响应头中的一项内容。如果在响应头中已经存在这项内容,那么原先所做的设置将被覆盖。

setStatus(int sc):设置HTTP响应的状态代码。

addCookie(Cookie cookie):向HTTP响应中加入一个Cookie。

在HTTPServletResponse接口中定义了一些代表HTTP响应状态代码的静态常量,如下所示。

HTTPServletResponse. SC_BAD_REQUEST:对应的响应状态代码为400。

HTTPServletResponse. SC_FOUND:对应的响应状态代码为302。

HTTPServletResponse. SC_METHOD_NOT_ALLOWED:对应的响应状态代码为405。

HTTPServletResponse. SC_NON_AUTHORITATIVE_INFORMATION:对应的响应状态代码为203。

HTTPServletResponse. SC_FORBIDDEN:对应的响应状态代码为403。

HTTPServletResponse. SC_NOT_FOUND:对应的响应状态代码为404。

HTTPServletResponse. SC_OK:对应的响应状态代码为200。

HelloServlet类的service()方法最后调用PrintWriter对象的close()方法关闭底层输出流,该方法在关闭输出流之前会先把缓冲区内的数据提交到客户端。因此在调用PrintWriter 对象的 close()方法之前,response.isCommitted()方法返回 false;而在调用PrintWriter对象的close()方法之后,response.isCommitted()方法返回true。HelloServlet类的service()方法中的“System.out.println(…)”语句把内容打印到Tomcat服务器所在的控制台。

Request 的 sendError( )方法

形式: sendError(int errnum )说明:用来向客户端发送错误信息,这对调试程序有很大帮助。常用的常量级错误代码有:
SC_CONTINUE, 状态码是100,表示客户端无法连接。
SC_SWITHING_PROTOCOLS,状态码是101,表示服务器正向报头中注明的协议切换。
SC_OK,状态码是200.表示请求被成功处理。
SC_CREATED,状态码是201,表示请求被成功处理,并在服务器方创建了一个新的资源。
SC_ACCEPTED,状态码是202,表示请求正在被处理,但尚未完成。
SC_NON_AUTHORITATIVE_INFORMATION,状态码是203,表示客户端所表达的mate信息并非来自服务器。
SC_NO_CONTENT,状态码是204,表示请求被成功处理,但没有新的信息返回。
SC_RESET_CONTENT,状态码是205,表示导致请求被发送的文档视图应该重置。
SC_PARTIAL_CONTENT,状态码是206,表示服务器已经完成对资源的GET请求。
SC_MULTI_CHOICES,状态码是300,表示对应于一系列表述的被请求资源都有明确的位置。
SC_MOVED_PERMANENTLY,状态码是301,表示请求所申请的资源已经被移到一个新的地方,并且将来的参考点在请求中应当使用一个新的URL.
SC_MOVED_TEMPORARILY,状态码是302,表示请求所申请的资源已经被移到一个新的地方,并且将来的参考点在请求中仍使用原来的URL.
SC_SEE_OTHER,状态码是303,表示请求的响应可以在一个不同的URL中找到。
SC_NOT_MODIFIED,状态码是304,表示一个有条件的GET操作发现资源可以利用,且没有被改变。
SC_USE_PROXY,状态码是305,表示被请求的资源必须通过特定位置的代理来访问。
SC_BAD_REQUEST,状态码是400,表示客户发出的请求句法不正确。
SC_UNAUTHORIZED,状态码是401,表示请求HTTP认证。
SC_PAYMENT_REQUIRED,状态码是402,表示为以后的使用保留。
SC_FORBIDDEN,状态码是403,表示服务器明白客户的请求,但拒绝响应。
SC_NOT_FAND,状态码是404,表示所请求的资源不可用。
SC_METHOD_NOT_ALLOWED,状态码是405,表示在请求行中标示的方法不允许对请求URL所标明的资源使用。
SC_NOT_ACCEPTTABLE,状态码是406,表示被请求的资源只能响应实体,而且此符合请求所发送的可接受头部域的实体的确包含不可接受的内容。
SC_PHOXY_AUTHENTICATION_REQUIRED,状态码是407,表示客户端必须先向代理验证。



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

技术支持 KZYPLC V2.1 © 2020-2027

欢迎光临昆山中宇工控PLC论坛!您是第 10321548 位访问者, 日访问量: 6671 总访问量: 22649822,当前 2024-11-23 08:57:08 在线人数:41

ICP备案证书号: 苏ICP备14003016-2号