[Java EE 7] Servlet 资源打包

本文介绍如何在Servlet中使用ServletContext.getResource和getResourceAsStream方法加载资源文件。从Servlet 3.0开始,可以将资源放置于jar包的META-INF/resources目录下,无需提取即可直接访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在 web 工程中,可以使用 ServletContext.getResource 或 .getResourceAsStream 来获取资源。资源路径由 “/” 开始,这个路径是个相对路径,对应 Web 工程的根目录,或 WEB-INF/lib 中 jar 包的 META-INF/resources 目录:

myApplication.war
WEB-INF
lib
library.jar


library.jar 有下面的包结构:

library.jar
MyClass1.class
MyClass2.class
stylesheets
common.css
images
header.png
footer.png


一般情况下,如果在 servlet 中要访问 stylesheets 和 images 文件夹中的资源,需要手动地将它们提取到 web 工程的根目录下。从 servlet 3.0 开始,允许将资源放入 jar 包的 META-INF/resources 目录下:

library.jar
MyClass1.class
MyClass2.class
META-INF
resources
stylesheets
common.css
images
header.png
footer.png


在上面例子中,资源放入了 META-INF/resources 目录中,因此不需要提取到根目录也能直接访问。

应用会先扫描 web 根目录下的资源,再扫描 jar 包中的资源,jar 包中资源的扫描顺序是不定的。

文章来源:[url]http://www.aptusource.org/2014/04/java-ee-7-resource-packaging/[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值