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";
}
}
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";
}
}