JasperReport PDF 在强化 Tomcat 7 web.xml 后显示无法识别的二进制文件

问题描述 投票:0回答:1

相信一切顺利。

实际上,我想在 tomcat 7 上对我的混合 spring roo 和 spring mvc Web 应用程序进行安全增强。

在我更改并在 web.xml tomcat 中添加如下代码后:

<filter>
        <filter-name>httpHeaderSecurity</filter-name>
        <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
        <init-param>
          <param-name>hstsMaxAgeSeconds</param-name>
          <param-value>31536000</param-value>
        </init-param>
         <init-param>
          <param-name>hstsEnabled</param-name>
          <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>antiClickJackingEnabled</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>antiClickJackingOption</param-name>
            <param-value>SAMEORIGIN</param-value>
        </init-param>
        <async-supported>true</async-supported>
    </filter>
    <filter-mapping>
        <filter-name>httpHeaderSecurity</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
    </filter-mapping>

然后,我的 pdf 报告输出无法作为以下快照工作:

根据我的研究,我必须通过安全配置 xml 文件中的配置将 /report/** 路径放入例外列表中。但我对 xml 配置没有任何想法。对我来说,Java 配置更容易配置。

这个想法正确吗? 有什么线索和解决办法吗?

spring jasper-reports tomcat7 web.xml hsts
1个回答
0
投票

在控制器方法参数中定义 HttpServletResponse 响应。

然后只需添加以下代码:

response.setContentType("application/pdf");
© www.soinside.com 2019 - 2024. All rights reserved.