JAVA中级(五)response(1)基本介绍,代表响应的类,如何设置响应头,行,体

本节来介绍response.response是响应的意思.在JAVA web的主要作用就是把我们设置的信息发送给客户端。

response是一个对象,主要用于动态的给客户端反馈信息。

HttpServletResponse

普通的Servlet中的response类型是ServletResponse,而HttpServlet中的是HttpServletResponse,它针对HTTP协议设计,功能更加强大.HttpServletResponse能设置header等HTTP协议的信息。而ServletResponse不行

HttpServletResponse如何使用?

response是用于动态给客户端反馈信息的类,所以我们就要知道怎么来用response给客户端反馈信息
首先了解下Http响应的结构,Http响应由响应头,响应行,响应体组成.
在谷歌浏览器response体现如下:
在这里插入图片描述

response设置响应行

响应行主要是设置状态码。也就是400,401之类的。如果不设置。那系统会根据处理结果自己设置。比如请求成功就是200,服务器出错就是500,找不到路径就是404之类等等。

使用setStatus(int) 来设置状态码

 @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取状态码404
        response.setStatus(404);
    }

启动tomcat,并执行此servlet
在这里插入图片描述
就出现这样的页面(谷歌浏览器)

response设置响应头

response.setHeader(String,String);根据key设置value,
这个方法很重要。什么头都可以用这个来设置值。

@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //设置Content-Type = text/html;charset=UTF-8
    //根据key设置value
        response.setHeader("Content-Type","text/html;charset=UTF-8");
    }

启动tomcat,并执行此servlet,然后在f12打开浏览器调试从network抓包
在这里插入图片描述
这样就设置成功了。
还有一些其他响应头的设置方法
response.setContentType(String);//设置content-type
response.addHeader(String,String);//添加一个自定义的响应头

response设置响应体

响应体也就是能够渲染在页面上的信息。
使用getWriter()方法获取PrintWriter对象.在使用PrintWriter的write()方法来输入响应体的内容.

扫描二维码关注公众号,回复: 5926642 查看本文章
 @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter writer = response.getWriter();
        writer.write("love you");
    }

启动tomcat,执行该servlet
输出如下
在这里插入图片描述
当然你还可以写html标签

@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter writer = response.getWriter();
        writer.write("<div style='color:red'>love you</div>");
        writer.write("<div style='color:green'>hello world</div>");
    }

执行结果:
在这里插入图片描述

总结:
1,response是什么?
一个封装着响应信息并能够动态发送给客户端的对象.
2,response怎么用?
(1)response设置响应行,使用setStatus()方法
(2)response设置响应头,使用setHeader(),addHeader()等方法
(3)response设置响应体,使用getWriter()获取PrintWriter对象在使用write()方法

猜你喜欢

转载自blog.csdn.net/qq_42577241/article/details/86636482