如何在java中的tomcat中获取位于web-inf文件夹下的配置文件的输入流?

时间:2012-01-03 10:30:36

标签: java web-applications

我想在java中的tomcat中获取位于webinf文件夹下的配置文件的输入流吗?我希望配置文件作为输入流位于java中tomcat的web-inf文件夹下。我试过下面的代码

InputStream xwikicfgis = FIPSSOAuthServiceImpl.class.getClassLoader().getResourceAsStream("config.cfg");

但它试图在web-inf / classes文件夹下搜索文件但我的文件直接位于web-inf文件夹下。我没有得到如何指向web-inf而不是web-inf / classes文件夹的路径?

3 个答案:

答案 0 :(得分:5)

你可以从任何servlet使用servletConfig.getServletContext()。getResourceAsStream(“/ WEB-INF / filename”)来获取它。

答案 1 :(得分:3)

使用javax.servlet.ServletContext.getRealPath(String)

电话

String webappBase = getServletContext().getRealPath("/");

将指向您的webapp的文档库,这是WEB-INF的父文件

之后你可以使用

InputStream is = new FileInputStream(webappBase + File.separator + "WEB-INF" + 
                                            File.separator + "config.cfg");

获取输入流

答案 2 :(得分:0)

或者您可以使用:

~/.bashrc
~/.bash_profile
/etc/profile

Tomcat无法在没有CATALINA_HOME的情况下工作,因此我们可以在没有任何其他配置文件或其他内容的情况下使用它,而且您不需要使用庞大的ServletContext。