我的耳朵包含另一场战争。项目结构如下所示:
project.ear
|-- lib
|-- META-INF
|-- project-web.war
| |-- META-INF
| |-- WEB-INF
| | |-- classes
| | | `-- com
| | | `-- example
| | | `-- services
| | | `-- ListPageService.class
| | |-- lib
| | |-- web.xml
| | `-- weblogic.xml
| `-- content.html
`-- project-services.jar
在战争中,有一个JAX-RS类ListPageService
,需要读取content.html
文件。我如何访问该文件?
在战争文件中获取资源的通常方法是通过ServletContext.getResource
或getResourceAsStream
。您应该能够通过宣布用javax.ws.rs.core.Context
ServletContext
@Context ServletContext servletContext;
然后在请求处理方法中,您可以说
URL content = servletContext.getResource("/content.html");
// alternatively
// InputStream content = servletContext.getResourceAsStream("/content.html");
编辑:此答案现在不再适用于现在提出的问题。建议的方法只能从classpath获取资源。
请看一下Class.getResourceAsStream
方法。它允许您访问类路径中的文件。