Java ServletContext realpath是否在WAR文件中工作

Java ServletContext realpath是否在WAR文件中工作,java,servlets,war,Java,Servlets,War,我在位置ReportGeneratorJSF/WebContent/WEB-INF/FormattedExcel/*.xls中存储了一些格式化的excel。为了阅读它们,我使用了ServletContext的getRealPath(“/WEB-INF/FormattedExcel/”)。但它是从地理位置读取的 'C:\Users\kgcn984\heliosworkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebap

我在位置
ReportGeneratorJSF/WebContent/WEB-INF/FormattedExcel/*.xls
中存储了一些格式化的excel。为了阅读它们,我使用了ServletContext的
getRealPath(“/WEB-INF/FormattedExcel/”)
。但它是从地理位置读取的

'C:\Users\kgcn984\heliosworkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ReportGeneratorJSF\WEB-INF\FormattedExcel\...'
虽然路径应该是
ReportGeneratorJSF/WebContent/WEB-INF/FormattedExcel/*.xls
,但其工作正常

我的问题是,当我创建一个war文件并将其放入tomcat的webapps中时,它会成功吗?对不起,我不能尝试这样做,因为我没有在tomcat的webapps中放置任何war的系统权限


请回复。

当且仅当Tomcat扩展了战争时,这将正常工作

要在所有情况下使用该文件,应使用
getResourceAsStream


如果需要列出所有Excel文档,可以使用
getResourcePath

扩展WAR:这是否意味着它应该是基于目录的文件,而不是单个WAR文件??我尝试了getResourceAsStream,但它返回ByteArrayInputStream,在我的代码中,它显示为。。。。新的HSSF工作簿(新文件输入流(格式文件))。。。路过过道。。。。未给出编译错误,但所需的格式cellstyle未应用于生成的Excel。我不确定
HSSFWorkbook
为什么会出现
ByteArrayInputStream
问题,但这是另一个问题。Servlet容器可以从WAR内部或通过扩展WAR来运行Web应用程序-由容器和/或服务器管理员设置使用哪种方法。