response.setHeader各种用法详解

本文详细介绍了如何通过HTTP响应头来实现页面定时刷新、跳转、禁止缓存、设置文件下载等功能,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一秒刷新页面一次 response.setHeader("refresh","1");

二秒跳到其他页面 response.setHeader("refresh","2;URL=otherPagename");

没有缓存:

?
1
2
response.setHeader( "Pragma" , "No-cache" );
response.setHeader( "Cache-Control" , "no-cache" );

设置过期的时间期限  

response.setDateHeader("Expires", System.currentTimeMillis()+自己设置的时间期限);

访问别的页面:response.setStatus(302); response.setHeader("location","url");

通知浏览器数据采用的压缩格式:response.setHeader("Content-Encoding","压缩后的数据");

高速浏览器压缩数据的长度:response.setHeader("Content-Length",压缩后的数据.length+"");

高速浏览器图片或视频:response.setHeader("Content-type","这个参数在tomcat里conf下的web.xml里面找");

?
1
2
3
4
5
6
7
inputstream in= this .getServletContext.getResourceAsStream( "/2.jpg" );
int len= 0 ;
byte buffer[]= new byte [ 1024 ]
outputStream out = response.getOutputStream();
while (len=in.read(buffer)> 0 ){
  out.write(buffer, 0 ,len)
}

高速浏览器已下载的形式:response.setHeader("Content-disposition","attachment;filename=2.jpg");

?
1
2
3
4
5
6
7
inputstream in= this .getServletContext.getResourceAsStream( "/2.jpg" );
int len= 0 ;
byte buffer[]= new byte [ 1024 ]
outputStream out = response.getOutputStream();
while (len=in.read(buffer)> 0 ){
  out.write(buffer, 0 ,len)
}
package com.interceptor; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import com.alibaba.fastjson.JSONObject; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import com.annotation.IgnoreAuth; import com.entity.EIException; import com.entity.TokenEntity; import com.service.TokenService; import com.utils.R; /** * 权限(Token)验证 */ @Component public class AuthorizationInterceptor implements HandlerInterceptor { public static final String LOGIN_TOKEN_KEY = "Token"; @Autowired private TokenService tokenService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //支持跨域请求 response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Headers", "x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization"); response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); IgnoreAuth annotation; if (handler instanceof HandlerMethod) { annotation = ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class); } else { return true; } //从header中获取token String token = request.getHeader(LOGIN_TOKEN_KEY); /** * 不需要验证权限的方法直接放过 */ if(annotation!=null) { return true; } 这段代码的意思和作
最新发布
03-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值