设置页面缓存

1、缓存请求以GET方式

2、控制层的时候要分http协议1.0和http协议1.1
public class HttpPageCacheUtil {

    //十分钟
    public static final long EXPIRSE_TIME_10MINUTES = 600;

    //半小时
    public static final  long EXPIRSE_TIME_30MINUTES = 1800;

    //一小时
    public static final  long EXPIRSE_TIME_1HOUR = 3600;

    //两个小时
    public static final  long EXPIRSE_TIME_2HOURS = 7200;

    //八小时
    public static final  long EXPIRSE_TIME_8HOURS = 28800;

    //二十四小时
    public static final  long EXPIRSE_TIME_24HOURS = 86400;

    /**
     * 
     * 功能描述:
     * 输入参数:<按照参数定义顺序> 
     * @param expirseTime 需要缓存时间的秒数
     * 返回值:  类型 <说明> 
     * @return 返回值
     * @throw 异常描述
     * @see 需要参见的其它内容
     */
    public static void setPageCache(HttpServletResponse response, long expirseTime) {
        long now = System.currentTimeMillis();
        // http1.0
        response.setHeader("Pragma", "Pragma");
        response.setDateHeader("Expires", now + expirseTime * 1000);//以毫秒为单位
        // http1.1
        response.setHeader("Cache-Control", "max-age=" + expirseTime);
        response.setDateHeader("Last-Modified", now - (now % expirseTime * 1000));//以毫秒为单位
        response.setHeader("Cache-Control", "public"); 
    }
    
}


@Controller
@RequestMapping("/")
public class TestController{
@RequestMapping("test")
    public String test(Model model, HttpServletRequest request, HttpServletResponse response) {
        logger.info(START_METHOD, "test()");
        HttpPageCacheUtil.setPageCache(response,HttpPageCacheUtil.EXPIRSE_TIME_10MINUTES);
        logger.info(END_METHOD, "test()");
        return "test";
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值