我想在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文件夹的路径?
答案 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。