response对象是来设置响应消息

响应行
组成:协议/版本 响应状态码 状态码描述
响应状态码:
服务器告诉客户端浏览器本次请求和响应的一个状态。
状态码都是3位数字
分类:
1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码
2xx:成功。代表:200
3xx:重定向。代表:302(重定向),304(访问缓存)
4xx:客户端错误。
5xx:服务器端错误。代表:500(服务器内部出现异常)
响应头
格式:头名称:值
常见的响应头:
Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式
Content-disposition:服务器告诉客户端以什么格式打开响应体数据
in-line:默认值,在当前页面内打开
attachment;filename=xxx:以附件形式打开响应体。文件下载
Response方法
设置响应行
格式:HTTP/1.1 200 ok
设置状态码:setStatus(int sc)
设置响应头:setHeader(String name, String value)
设置响应体:
获取输出流
字符输出流:PrintWriter getWriter()
字节输出流:ServletOutputStream getOutputStream()
使用输出流,将数据输出到客户端浏览器
重定向代码案例
ResponseDemo1:
@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) {System.out.println("demo1。。。");// 重定向代码resp.setStatus(302);resp.setHeader("location", "/responsedemo1/ResponseDemo2");// 重定向代码2,两者都可以// resp.sendRedirect("/responsedemo1/ResponseDemo2");}
ResponseDemo2:
@WebServlet("/ResponseDemo2")public class ResponseDemo2 extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) {System.out.println("demo2。。。");}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp){this.doPost(req,resp);}}
输出:
demo1。。。demo2。。。
输出字符串
@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {//设置文本编码1resp.setHeader("content-type", "text/html;charset=utf-8");//设置文本编码2resp.setContentType("text/html;charset=utf-8");//获取字符输出流PrintWriter writer = resp.getWriter();//将字符串写入流中writer.write("<h1>你好。。。</h1>");}
最后修改时间:2021-02-05 15:08:07
文章转载自Hello 帅帅,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




