Response响应

响应状态码

五种分类

1. 1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码
2. 2xx:成功。代表:200
3. 3xx:重定向。代表:302(重定向),304(访问缓存)
4. 4xx:客户端错误。
  404(请求路径没有对应的资源) 
  405:请求方式没有对应的doXxx方法
5. 5xx:服务器端错误。代表:500(服务器内部出现异常)


重定向:redirect

response.sendRedirect("/Demo2");
response.sendRedirect("https://www.baidu.com");

特点:

1. 地址栏发生变化
2. 重定向可以访问其他站点(服务器)的资源
3. 重定向是两次请求。不能使用request对象来共享数据

转发:forward

1. 转发地址栏路径不变
2. 转发只能访问当前服务器下的资源
3. 转发是一次请求,可以使用request对象来共享数据


解决响应输出至浏览器中文乱码

  • 字符流输出
//设置该流的默认编码
response.setCharacterEncoding("utf-8");
//告诉浏览器响应体使用的编码 response.setHeader(
"content-type","text/html;charset=utf-8");
或者
response.setContentType("text/html;charset=utf-8");

在设置完编码之后,即可打印输出至浏览器内

PrintWriter pw = response.getWriter();
pw.write("<h3>欢迎你</h3>");
  • 字节流输出(文件、图片之类)

*也需要注意中文乱码的问题

response.setContentType("text/html;charset=utf-8");
ServletOutputStream sos = response.getOutputStream();
sos.write("你好".getBytes("utf-8"));
原文地址:https://www.cnblogs.com/Nora-F/p/11023407.html