`
vipagain
  • 浏览: 3094 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

Http缓存(1)

    博客分类:
  • java
 
阅读更多
以下为Spring Mvc设置过期时间控制过期时间

@RequestMapping("/test")
	public ModelAndView test(HttpServletResponse response,
			@RequestHeader (value = "If-Modified-Since", required = false) Date ifModifiedSince){
		
		ModelAndView mav = new ModelAndView("index");
		DateFormat gmtDateFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss 'GMT'", Locale.US);
	    long now = System.currentTimeMillis();
	    long maxAge = 20;
	    
		if(ifModifiedSince != null ) {
		    long lastmodifytime = ifModifiedSince.getTime() - 8 * 60 * 60 * 1000;
			if(now <= lastmodifytime + (maxAge * 1000)){
				response.setStatus(HttpStatus.NOT_MODIFIED.value());
				return null;
			}
	    }
	    String format = gmtDateFormat.format(new Date(now + maxAge * 1000));
		response.setHeader("Last-Modified", gmtDateFormat.format(new Date(now)));
	    //当前系统时间
		response.setHeader("Date", gmtDateFormat.format(new Date(now)));
		response.setHeader("Content-Type", "text/html; charset=utf-8");
	    //过期时间 http 1.0支持
		response.setHeader("Expires", format);
	    //文档生存时间 http 1.1支持
		response.setHeader("Cache-Control", "max-age=" + maxAge);
		mav.addObject("now", gmtDateFormat.format(new Date(now)));
		return mav;
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics