2011-10-04 60 views

回答

1

一切都在代碼和JavaDocs中。對於初學者我將延長SimpleCachingHeadersPageCachingFilter和覆蓋buildPage()

public class CustomHeadersPageCachingFilter extends SimpleCachingHeadersPageCachingFilter { 

    @Override 
    protected PageInfo buildPage(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws AlreadyGzippedException, Exception { 
     PageInfo pageInfo = super.buildPage(request, response, chain); 
     headers.add(new Header<String>("X-Content-Type-Options", "nosniff")); 
     headers.add(new Header<String>("X-XSS-Protection", "1; mode=block")); 
     return pageInfo; 
    } 
} 

但是Java文檔的方法,我們覆蓋指出:

要控制自己的緩存頭,使用{@link SimplePageCachingFilter}。

SimplePageCachingFilter是現在正在擴展的基類SimpleCachingHeadersPageCachingFilter。不過,我認爲如果我們想使用完全不同的標題,這個評論建議使用前一類。如果我們想保留標準標題(由後一類通過super.buildPage()添加),這種方法似乎有效。

聲明:請注意,擴展類的行爲通過擴展它並重寫某些方法,首先調用super版本並添加一些邏輯不是最佳的面向對象技術。