2014-09-11 60 views
1

我需要強制瀏覽器從URL加載web資源,而不是從瀏覽器緩存中加載。我如何設置Pragma: no-cache HTTP標頭Jersey responce?如何在Jersey中設置Pragma:no-cache HTTP header?

代碼:

@GET @Path("/cache/{id}") 
    @Produces({"application/json"}) 
    public static String getCachachedJSON(@PathParam("id") int id) { 
     return getJSONRecord(id); 
    } 

UPDATE:

通過實施ContainerResponseFilter和重寫filter方法解決。

+1

檢查此鏈接: HTTP: //stackoverflow.com/questions/10934316/jersey-default-cache-control-to-no-cache – pd30 2014-09-11 10:21:21

回答

0

添加響應爲@Context資源,它可以是一個參數或領域,也:

getCachachedJSON(@PathParam("id") int id, @Context HttpServletResponse servletResponse) 

然後使用addHeader功能:

servletResponse.addHeader("Pragma", "no-cache"); 
+0

當添加「@Context HttpServletResponse servletResponse」時,Jersey web serwer無法啓動。如何在不使用maven的情況下設置Jersey servlet支持並保留當前的URL結構? – 2014-09-11 10:25:28

相關問題