Http缓存(1)

以下为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;
	}

猜你喜欢

转载自vipagain.iteye.com/blog/2354729