【发布时间】:2011-06-16 11:43:27
【问题描述】:
我有一个映射在 /foo/*/image 之类的 url 中的方法,它下载图像,我希望浏览器缓存该图片。但我不明白。我可以在带有 firebug 的 Firefox 中看到请求没有被缓存,并且它也发生在 Chrome 中。
我试图在方法中将 Cache-Control 设置为“max-age=3600, public”,但它似乎没有做任何事情。
下面是Spring-MVC制作的控制器中调用方法的一段代码。
谁能帮帮我?
谢谢。
@RequestMapping(value="/foo/{id}/image", method=RequestMethod.GET)
public void showImage(
@PathVariable("id") String id,
HttpServletRequest request,
HttpServletResponse response,
Model model) throws Exception{
//add image to the response
service.read(id, response);
//mark the response as cacheable
HttpServletResponse httpResp = ((HttpServletResponse) response);
httpResp.setHeader("Cache-Control", "max-age=3600, public");
}
【问题讨论】:
标签: http caching servlets spring-mvc cache-control