有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 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;
        }
    }
    

    但是,我们覆盖的方法的JavaDoc声明:

    To control your own caching headers, use {@link SimplePageCachingFilter}.

    SimplePageCachingFilter是目前正在扩展的SimpleCachingHeadersPageCachingFilter的基类。然而,我认为这条评论建议,如果我们想使用完全不同的标题,就使用前一个类。如果我们想保留标准头(由后一个类通过super.buildPage()添加),这种方法似乎是有效的

    免责声明:请注意,通过扩展类并通过首先调用superversion并添加一些逻辑来重写某些方法来扩展类的行为并不是最好的OO技术