回顾上一章的知识:
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”会根据时间来控制响应