一切都在代碼和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
版本並添加一些邏輯不是最佳的面向對象技術。