当前位置: 首页>前端>正文

下载的文件名是response 文件下载response头

四、http响应头信息详解


1、server

该响应头是服务器告诉浏览器,当前响应的服务类型和版本。

2、Content-Type响应头

服务器告诉浏览器响应内容是什么类型,以及采用的是什么字符编码。该响应头的值现在为text/html;charset=utf-8。说明响应信息的类型是文本类型中的html,使用的字符编码是utf-8。

3、Content-Length响应头

服务器告诉浏览器,Content-Length响应头表明了响应实体的大小,该响应内容的长度现在是312字节。

4、Data响应头

表示是服务器是在什么时候响应回浏览器,注意这里的时间是按照美国时间来计算。

5、 Accept-Ranges: bytes

该响应头表明服务器支持Range请求,以及服务器所支持的单位是字节(这也是唯一可用的单位).我们还能知道:服务器支持断点续传,以及支持同时下载文件的多个部分,也就是说下载工具可以利用范围请求加速下载该文件.Accept-Ranges: none 响应头表示服务器不支持范围请求。

6、Last-Modified

服务器上文件的最后修改时间

五、设置response内容


response 代表响应, 可以通过该对象分别设置Http响应: 响应行  响应头  响应体

1、设置响应行的状态码

setStatus(int value)

response.setStatus(302);

2、设置响应头

addHeader(String name,String value)
addIntHeader(String name,int value)
addDateHeader(String name,long value)
public class HeaderServlet extends HttpServlet {



	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		 Date date = new Date();

		 response.addHeader("name", "xiaodingdang");

		 response.addHeader("name", "daxiong");

		 response.addIntHeader("age", 15);

		 response.addDateHeader("birthday", date.getTime());

		

	}



	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		doGet(request, response);

	}

}

下载的文件名是response 文件下载response头,下载的文件名是response 文件下载response头_http,第1张

注意了 要注意setHeader和addHeader的不同 一个是设置 一个是添加 设置只能是设置最后一个 但是添加可以添加很多个。

3、response实现重定向

方法一:

response.setStatus(302); //设置响应行的状态码为302 重定向

response.setHeader("Location", "/Servlet/servlet2"); //设置响应头的属性 跳转到Servlet2

方法二:

response.sendRedirect("/Servlet/servlet2"); //利用response中的sendRedirect属性完成重定向

4、response实现自动刷新跳转

public class RefreshServlet extends HttpServlet {



	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		response.setHeader("refresh", "5;url=http://www.baidu.com"); //设置头 参数 数值5为

		//秒 中间用分号间隔 url为要跳转的网址

	}



	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		doGet(request, response);

	}

}

使用JS来完成自动跳转

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

	window.onload= function(){

		var time = 3;

		var second = document.getElementById("second");

		timer = setInterval(function(){

			second.innerHTML = time;

			time--;

			if(time==0){

				location.href = "http://www.baidu.com";

				clearInterval(timer);

			}

		},1000);

	}

</script>

</head>

<body>

	恭喜你,登录成功,<span id="second" style="color: red">3</span>秒后将跳转,若不跳转 请点击<a href="http://www.baidu.com">这里</a>

</body>

</html>

5、解决response中文乱码问题

//方法一:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		response.setCharacterEncoding("UTF-8");

		response.setHeader("content-Type", "text/html;charset=utf-8");

		response.getWriter().write("小叮当");

		

	}

//方法二:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//		response.setCharacterEncoding("UTF-8");

//		response.setHeader("content-Type", "text/html;charset=utf-8");

		response.setContentType("text/html;charset=utf-8");

		response.getWriter().write("中国");

		

	}

//通常使用第二种方法解决乱码问题

6、上传图片资源

public class TestServlet extends HttpServlet {



	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		ServletOutputStream outputStream = response.getOutputStream(); //获得字节输出流

		String realPath = this.getServletContext().getRealPath("1.jpg"); //获得图片的真实路径

		InputStream in = new FileInputStream(realPath); //获得服务器上的图片

		

		//使用高效的方法写入客户端图片

		int len = 0;

		byte[] buffer = new byte[1024];

		while((len=in.read(buffer))>0) {



https://www.xamrdz.com/web/25w1931397.html

相关文章: