日常(请求响应)
作者:互联网
1.response对象的应用。
发送状态码;
<1>:健康成功的状态码是200(绿码),
同时还有302(黄码)表达需要重定向的状态码。
不健康的一些红码:
404状态码:资源查找不到
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8")
response.sendError(404,"嘿嘿,你猜猜看,这是秘密啦。我是capo,以后要记得字符设置在第一行哦~(。・∀・)ノ");
//人为设置错误信息状态码
}
502状态码:服务器错误。
设置响应头信息;
<2>响应头就是一个键值对,可能会存在一个头字段(一个键,一个值),也可能会存在一个头字 段(一个键,多个值)。相当于只有一个名字,但有多个价值。
response.setHeader(“字符串类型”,“同前”);
设置一对键值对;使用addHeader(“字符串类型”,“同前”);是一个键,但是具有多个值的情况。response.setHeader("键名", "值");//字符串类型
设置响应正文response;
<3>PrintWriter out = response.getWriter():获取字符流; ServletOutputStream out = response.getOutputStream():获取字节流;
响应正文内容为字符,那么使用 response.getWriter();
响应内容是字节,那么使用 response.getOutputStream()。
import java.io.PrintWriter;
String capo ="我在这里";
PrintWriter out=response.getWriter();
out.print(capo);
import javax.servlet.ServletOutputStream;
String data = "hello";
ServletOutputStream out = response.getOutputStream();
out.write(data.getBytes());
重定向;
<3>302状态码:重定向。
设置302状态码:setStatus(302)
System.out.println("hello,这里是一号机!");
response.setStatus(302);
response.setHeader("Location", "/HelloServlet1/Study01");
可以发现Location路径与书写时一致
运行时输入A文件,上方跳转为l/HelloServlet1/Study01,同时工具得到两个请求,一个302,一个200;
response.sendRedirect("自己指定的URL路径");
网页定时刷新跳转;
<4>页面跳转:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.setHeader("Refresh", "3;URL=https://monster-siren.hypergryph.com/info");
<5>定时刷新:
response.setHeader("Refresh", "1");
response.getWriter().print("当今时间"+new java.util.Date());
标签:请求,302,getWriter,响应,日常,response,setHeader,out 来源: https://www.cnblogs.com/capo-0737/p/16175486.html