http协议包含的内容


在这里插入图片描述

状态码

在这里插入图片描述
在这里插入图片描述

响应头

在这里插入图片描述
在这里插入图片描述

重定向:

在这里插入图片描述

BServlet.java:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("BServlet");
		//重定向:
		//1 设置location
		//2 发送302状态码
		response.setHeader("Location", "/day10/CServlet");
		response.setStatus(302);
	}

CServlet.java:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("CServlet");
	}

结果:

BServlet
CServlet

定时刷新

在这里插入图片描述

DServlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		response.getWriter().print("5秒钟之后跳转到CServlet!");
		/*
		 * 设置名为refresh的响应头
		 */
		response.setHeader("Refresh", "5;URL=/day10/CServlet");
		
		
	}

禁用浏览器缓存

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setHeader("cache-control", "no-cache");
		response.setHeader("pragma", "no-cache");
		response.setDateHeader("expires", -1);
		response.getWriter().print("hello hello");
		response.getWriter().flush();
		response.getWriter().close();
	}

在这里插入图片描述

响应体

通常是html,也可以是图片

response的两个流

  • ServletOutputStream:用来向客户端发送字节数据
    ServletOutputStream out=response.getOutputStream();
  • PrintWriter:用来向客户端发送字符数据,需要设置编码
    PrintWriter writer=response.getwriter();
  • 两个流不能同时使用
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//字节流输出
//		String s="Hello world";
//		byte[] bytes=s.getBytes();
//		response.getOutputStream().write(bytes);
		//字符流输出
		response.getWriter().print("hello world2");
	}

结果相同

ServletOutputStream来读取图片

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		/*
		 * 响应字节数据
		 */
		//把一张图片读取到字节数组中
		String path="C:\\Users\\29265\\Desktop\\1.png";
		FileInputStream fis=new FileInputStream(path);
		byte[] bytes=IOUtils.toByteArray(fis);//读取输入流内容的字节到字节数组中
		response.getOutputStream().write(bytes);//成功显示图片
		
	}

重定向

在这里插入图片描述

sendRedirect(String location):
//快捷重定向方法
//快捷重定向方法
		response.sendRedirect("/day10/CServlet");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章