回顾上一章的知识:
Java Servlet是运行在Web服务器或应用服务器上的Java程序
Servlet规范对Servlet功能进行了严格定义
Servlet API与容器进行通讯
Servlet的编码和部署
Servlet需要在容器中进行注册和映射
容器管理Servlet的生命周期
SevletConfig对象为Servlet提供初始化参数
ServletContext对象属于整个Web应用程序
 
本章学习知识:
回顾HTTP请求的处理过程(回顾第一章)
设置HTTP状态码
设置HTTP响应头
设置HTTP消息体
请求重定向和自动刷新页面
 

设置HTTP状态码

设置响应状态行:HTTP状态码:

HTTP状态码:

100-199:表示信息性代码,标示客户端应该采取的其他动作,请求正在进行。

200-299:表示客户请求成功。

300-399:表示用于已经移走的资源文件,指示新的地址。

400-499:表示由客户端引发的错误。

500-599:表示由服务器端引发的错误

servlet设置状态码一般使用HttpServletResponse的setStatus()方法;

设置HTTP响应头

HttpServletResponse对象用于操纵响应的HTTP头
目的用于告诉客户端
–发送回来的内容的类型
–有多少内容正被发送
常用的方法:

setContentType(String mimetype);

addCookie(Cookie c);

发送内容的服务器的类型

设置HTTP消息体

HttpServletResponse对象负责将信息返回给客户端

HttpServletResponse对象只产生一个空的HTTP响应

传回自定义的内容需要使用getWriter()或者getOutputStream()方法

–传送普通文本

–传送二进制内容 

请求重定向和自动刷新页面

重定向的原理:(看三张图片):

使用sendRedirect(String URL)方法实现重定向,

在指定时间内自动刷新当前页或到一个新的页面
根据时间来控制响应
想在响应中有一个短时间的暂停 

response.setHeader("Refresh", "time; URL=url" );

总结:

请求URL时HTTP发出了多个请求
状态码告诉浏览器发送的内容及格式状态
Servlet API与容器进行通讯
HttpServletResponse定义的常量来避免直接使用整数
在通过PrintWriter对象发送任何内容之前先调用 HttpServletResponse的setStatus()方法
为了让Servlet发挥最大的效能,HttpServletResponse对象用于操纵响应的HTTP头
getWrite()或者getOutputStream()方法传送文本或者二进制内容给客户端
sendRedirect方法实现重定向
HTTP响应头“Refresh”会根据时间来控制响应
 

转载于:https://www.cnblogs.com/hellokitty1/p/4894044.html

第三章 使用Servlet处理HTTP响应相关推荐

  1. 第三章 Java Servlet基础

    第三章 Java Servlet基础 3.6.2 转发 1.获得RequestDispatcher对象 2.RequestDispatcher对象调用forward()方法实现转发 请求转发工作原理 ...

  2. 在Java中构建响应式微服务系统——第三章 构建响应式微服务

    第三章 构建响应式微服务 在本章中,我们将使用Vert.x构建我们的第一个微服务.由于大多数微服务系统使用HTTP进行交互,因此我们将以HTTP微服务作为开始.但是由于系统包含多个相互通讯的微服务,因 ...

  3. 关于对《Spring Security3》翻译 (第一章 - 第三章)

    原文:http://lengyun3566.iteye.com/category/153689?page=2 翻译说明 最近阅读了<Spring Security3>一书,颇有收获(封面见 ...

  4. 计算机二级web考点,2017年计算机二级考点解析:WEB程序第三章

    2017年计算机二级考点解析:WEB程序第三章 2017-08-26 12:16:38来源:计算机等级考试网分享 导读:在计算机等级考试中,有许多的知识点是需要我们积累掌握的,每个等级的内容都是不同的 ...

  5. 王道考研 计算机网络笔记 第三章:数据链路层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  6. 第三章--数据链路层

    第三章--数据链路层 本章目录: 3.1使用点对点信道的数据链路层 3.1.1数据链路和帧 3.1.2三个基本问题 3.2点对点协议PPP 3.2.1PPP协议的特点 3.2.2PPP协议的帧格式 3 ...

  7. CV:翻译并解读2019《A Survey of the Recent Architectures of Deep Convolutional Neural Networks》第一章~第三章

    CV:翻译并解读2019<A Survey of the Recent Architectures of Deep Convolutional Neural Networks>第一章~第三 ...

  8. 计算机网络总结:第三章 运输层

    第三章 运输层 3.1 概述和运输层服务 提供在不同主机上运行的app进程之间的逻辑通信 传输协议在终端系统中运行 –发送方:将应用消息分成报文段,传递给网络层 –rcv 方:将片段重新组合成消息,传 ...

  9. 计算机软件中os具有什么功能,[计算机软件及应用]OS第三章1.ppt

    [计算机软件及应用]OS第三章1 基于时钟中断的抢占式优先权调度算法 当前进程 实时进程 调度时间 实时进程要求调度 时钟中断到来时 抢占式调度算法 立即抢占式优先权调度算法 新到达的外部事件提出中断 ...

最新文章

  1. 桌面程序调用Web Service应用实例
  2. MVC三层+会话层+线程安全+抽象工厂+DataBase First的基础框架
  3. python for in循环_Python傻瓜教程:跟我学for循环
  4. mysql mgr简介_mysql8.0初探:(二)MySQL Group Replication-MGR集群简介
  5. Windows Media Center .MCL文件代码执行漏洞(MS16-059)
  6. mysql查询全年星期_数据库查询显示一年中所有的周一到周五的数据
  7. java 试题 历届试题 单词分析 题解
  8. mysql数据库sql语法参考_MySQL数据库SQL语法参考
  9. 帆软删除行操作提示并确认 js:FR.Msg.confirm
  10. 11.17牛客练习赛31 ABC-----未完
  11. 【88.4】HTTP权威指南
  12. 计算机控制系统模型,控制系统数学模型及其类型-电脑自学网
  13. matlab 单相整流电路,基于MATLAB的单相桥式整流电路研究
  14. 英特尔显卡linux管理_Intel Linux 显卡驱动安装指南
  15. 计算机系统无法启动 错误恢复怎么办,win7系统无法启动 安全模式也进入不了怎么办-win7启动失败,win7错误恢复无法开机...
  16. 网站推广优化教程集锦
  17. 计算机科学中的数学第一章答案,翻译《计算机科学与数学》第一章第四节:我们的公理...
  18. WordPress的.htaccess优化技巧是什么
  19. 支付宝扫码跳转到跳转页面
  20. Linux进程中有xorg,linux – Xorg如何工作?

热门文章

  1. ITK:提取网格边界上的顶点
  2. DCMTK:将STL文件封装为DICOM文件
  3. DCMTK:DSRDocument类的测试程序
  4. C语言在有序的数组是否存在固定点(附完整源码)
  5. freetds mysql_apache+mysql+php+gd+freetds
  6. quartz-misfire 错失、补偿执行
  7. java同步关键词解释、synchronized、线程锁(Lock)
  8. java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI(xxx
  9. Struts2的Stack Context和ValueStack
  10. 处理字符串_11_判断一个字符是否是数字