如何在 Tomcat 中正确部署并下载静态 PDF 文件

大枫酱_4831

大枫酱_4831

2026-01-21

246人浏览

原创

如何在 Tomcat 中正确部署并下载静态 PDF 文件

tomcat 无法下载 pdf 文件(显示“failed - no file”)通常是因为文件未放在 web 应用的可访问路径下;正确做法是将 `brochure.pdf` 放入 `webapps/root/` 目录(与 jsp 页面同级),并通过相对路径 `/brochure.pdf` 引用。

在 Tomcat 中,只有部署在 Web 应用根目录(如 webapps/ROOT/)及其子目录下的资源,才能被客户端直接访问和下载。WEB-INF/ 及其上级目录(如 ../ 或 ../../)属于受保护区域,所有内容均被 Tomcat 显式禁止外部访问——这是安全设计,不是路径错误,而是强制限制。

你当前的路径逻辑存在两个关键问题:

✅ 正确做法如下:

  1. 将 brochure.pdf 移至 Web 应用根目录:
    复制文件到 TOMCAT_HOME/webapps/ROOT/brochure.pdf(确保与 about-us.jsp、careers.jsp 等处于同一层级)。

  2. 更新 HTML 中的链接为上下文无关的根路径:

    JSON Toolkit
    JSON Toolkit

    JSON文件多功能工具。支持格式化、验证、压缩、键排序及点记法路径查询。零依赖。

    下载
    
    
  3. User Guide
  4. ✅ 使用 /brochure.pdf(以 / 开头的绝对路径)比 ${pageContext.request.contextPath}/brochure.pdf 更简洁可靠——因为 ROOT 应用的上下文路径即 /,二者等价;且避免因动态表达式渲染异常导致路径错误。
  5. (可选)增强兼容性与语义:
    添加 type="application/pdf" 和明确的 download 文件名,提升浏览器识别率:

    
    
  6. User Guide (PDF)

⚠️ 注意事项:

  • 不要将 PDF 放在 WEB-INF/、META-INF/ 或其任意父级目录中——这些路径对 HTTP 请求完全不可见;
  • 避免使用 .. 路径跳转(如 ../../brochure.pdf),Tomcat 会拒绝解析或返回 404;
  • 若项目使用 Maven 构建,应将 brochure.pdf 放入 src/main/webapp/ 下,确保打包进 WAR 文件的根目录;
  • 浏览器“Failed - No file”提示通常意味着服务器返回了空响应或 404/403,可通过浏览器开发者工具的 Network 标签页 查看具体请求状态码和响应头,快速定位是否为路径 404 或 MIME 类型问题。

完成上述调整后,重启 Tomcat(或等待热部署生效),点击下载链接即可正常获取 PDF 文件。这是 Tomcat 静态资源服务的基础实践,也是 Java Web 工程部署的标准化要求。

相关专题

更多
如何配置Tomcat环境变量
如何配置Tomcat环境变量

配置Tomcat环境变量需要在系统中添加CATALINA_HOME变量,并将Tomcat的安装路径添加到PATH变量中。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.26

965

5

idea如何集成Tomcat
idea如何集成Tomcat

idea集成Tomcat的步骤:1、添加Tomcat服务器配置;2、配置项目部署;3、运行Tomcat服务器;4、访问项目;5、注意事项;6、关闭Tomcat服务器。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

324

5

怎么查看Tomcat源代码
怎么查看Tomcat源代码

查看Tomcat源代码的步骤:1、下载Tomcat源代码;2、在IDEA中导入Tomcat源代码;3、查看源代码;4、理解Tomcat的工作原理;5、参与社区和贡献;6、注意事项;7、持续学习和更新;8、使用工具和插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

509

5

常见的tomcat漏洞有哪些
常见的tomcat漏洞有哪些

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

305

5

tomcat日志乱码怎么解决
tomcat日志乱码怎么解决

tomcat日志乱码的解决办法:1、修改tomcat的日志编码设置;2、检查ide的编码设置;3、检查操作系统的编码设置;4、使用过滤器处理日志;5、检查外部系统的编码设置;6、检查文件编码方式等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

348

5

weblogic和tomcat有哪些区别
weblogic和tomcat有哪些区别

weblogic和tomcat的区别:1、功能;2、性能;3、规模;4、价格;5、安全性;6、配置和管理;7、社区支持;8、集成能力;9、升级和更新;10、可靠性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

349

5

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

601

5

tomcat启动闪退怎么解决
tomcat启动闪退怎么解决

tomcat启动闪退的解决办法:1、检查java环境;2、检查环境变量配置;3、检查端口被占用;4、检查配置文件编码;5、检查启动时需要的配置文件;6、检查相关文件是否丢失;7、检查防火墙和杀毒软件设置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

322

5

有哪些常见的tomcat漏洞
有哪些常见的tomcat漏洞

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

3273

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习