常见状态码的说明:
(1)200:表示服务器成功处理了客户端的请求。客户端请求成功,响应消息正常返回请求结果。
(2)302:表示请求的资源临时从不同的URL响应请求,但请求者应继续使用原有位置来进行以后的请求。
(3)304:如果客户端有缓存的文档,它会在发送的请求消息中附加一个if-Modified-Since请求头,表示只有请求的文档在if-Modified-Since指定的时间之后发生过更改,服务器才需要返回新文档。(状态304表示客户端缓存的文档版本是最新的,客户端应该继续使用,否则,服务起将使用状态码200返回请求的文档。)
(4)404:表示服务器找不到客户端请求的资源。
(5)500:表示服务器发生了错误,无法处理客户端的请求。(一般情况下,服务器会在相应的位置显示具体错误信息。)
一、HttpServletResponse对象:
在HttpServletResponse接口中定义了客户端发送响应状态码、响应头消息、响应消息体的方法。
1.发送状态码相关的方法:
(1)setStatus(int status)方法:
只要通过Status(int status)方法设置了状态码,即可实现状态行的发送。
(2)senError(int sc) 方法:
public void sendError(int code) throws java.io.IOException
public void sendError(int code,String message) throws java.io.IOException
2.发送响应消息体相关的方法:
(1)getOutputStream()方法:可以输出字节数组中的二进制数据。因此,想要输出二进制格
式的响应正文,就可以使用该方法。 示例如下图:
二、解决中文乱码问题:
1.第一种方式:将response.setCharacterEncoding("utf-8");写在doget方法的第一行。但这种方式会因为浏览器解码错误导致显示的文字和我们想显示的文字不同,不建议使用。示例如下图:
2.第二种方式:将response.setHeader("Content-Type", "text/html;charset=utf-8");写在doget方法的第一行。使用这种方式就可以完美解决第一种方式的问题。示例如下:
3.第三种方式:将response.setContentType("text/html;charset=utf-8");写在doget方法的第一行。示例如下:
4.实现网页定时刷新并转跳:
(1)编写代码实现定时刷新并转跳功能,代码如下:
3秒后网页刷新并转跳至之前编写的chapter2/Chinese页面。
(2)在某些特殊情况下我们不仅需要定时刷新网页,还需要获得当前刷新的时间,实现如下:
三、实现请求重定向功能:
1.请求重定向功能常常应用在各账号登录界面,实现如下:
在chapter2/login.html页面中输入我们设置的账号密码。
在验证账号密码无误后再将网页重定向到 chapter2/welcome.html页面,表示登录成功。



