日常(响应)

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());

posted @ 2022-04-23 16:53  小石榴单推人  阅读(8)  评论(0编辑  收藏  举报