response.setHeader各种使用方法

response.setHeader方法是HTTP协议中用来设置响应报头(header)的方法之一,该方法的作用是在响应报文的头部中添加一个响应头,用于告诉浏览器一些额外的信息,例如响应的内容类型,缓存控制等。

这个方法有多种用法,下面分别介绍一下。

一、设置响应类型

通过response.setHeader("Content-Type", "text/html;charset=UTF-8")可以设置响应类型为text/html,编码格式为UTF-8。这个方法告诉浏览器返回的文本类型和编码方式,浏览器可以根据这个信息使用相应的解析器进行解析。

二、设置缓存控制

通过response.setHeader("Cache-Control", "no-cache")可以设置缓存控制为no-cache,意味着每次请求都要重新获取数据。如果我们希望浏览器缓存一些静态资源,可以将其设置为max-age的值,例如response.setHeader("Cache-Control", "max-age=3600")表示浏览器缓存该资源1小时。

三、设置跨域访问

如果我们希望允许其他域名的网页请求我们的服务器接口,需要设置跨域访问,这个时候就需要使用response.setHeader("Access-Control-Allow-Origin", "*")方法。其中,*表示允许所有域名进行跨域访问,如果想只允许某些特定域名进行跨域访问,可以将其替换为相应的域名。

四、设置重定向

如果我们希望访问某个页面时,服务器自动跳转到另外一个页面,可以使用response.setHeader("Location", "https://www.example.com")方法进行重定向。其中,Location表示要跳转的页面的URL地址。

五、设置下载

如果我们希望浏览器可以直接下载某个文件,可以使用response.setHeader("Content-Disposition", "attachment;filename=example.txt")方法。其中,filename表示下载文件的文件名,可以根据实际情况进行修改。

六、设置其他响应头

除了上述常见的响应头之外,还有一些其他的响应头,例如ETag、Expires、Last-Modified等等。这些响应头的作用各不相同,可以根据实际需求进行设置。

下面是一个包含上述各种用法的示例代码。

```java

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

//设置响应类型和编码方式

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

//设置缓存控制

response.setHeader("Cache-Control", "no-cache");

//设置跨域访问

response.setHeader("Access-Control-Allow-Origin", "*");

//设置重定向

response.setHeader("Location", "https://www.example.com");

//设置下载

response.setHeader("Content-Disposition", "attachment;filename=example.txt");

//设置其他响应头

response.setHeader("ETag", "123");

response.setHeader("Expires", "Sat, 26 Jul 1997 05:00:00 GMT");

response.setHeader("Last-Modified", "Thu, 01 Jan 1970 00:00:00 GMT");

//发送响应内容

PrintWriter out = response.getWriter();

out.println("");

out.println("Example");

out.println("");

out.println("

Hello World!

");

out.println("

");

out.println("");

}

```

总之,response.setHeader是一个非常强大的方法,可以用来设置各种HTTP响应头,从而实现各种功能,例如设置缓存、跨域、重定向等等。熟练掌握这个方法对于开发Web应用程序非常有帮助。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(92) 打赏

评论列表 共有 1 条评论

爱要坦荡荡。 1年前 回复TA

你在新年夜被通缉了,你的罪行是:1对朋友太好,又够义气;2青春的面孔,灿烂的笑容。本庭现判决如下:罚你终身做我的朋友,不得上诉!

立即
投稿
发表
评论
返回
顶部