如何将.properties文件加载到jsp中

mor*_*des 7 java jsp servlets

我已经达到了这个目的:

private Properties logoUrls = new Properties();
logoUrls.load(new FileInputStream("channelLogos.properties"));
Run Code Online (Sandbox Code Playgroud)

其中channelLogos.properties与我的JSP位于同一目录中.我得到一个FileNotFound异常.我的应用程序实际上认为我的意思是"channelLogos.properties",如果不是与JSP相同的目录?如何确定加载属性文件的正确路径?

vic*_*ugo 10

这将完成工作:

<%@page import="java.io.InputStream" %>
<%@page import="java.util.Properties" %>

<%
    InputStream stream = application.getResourceAsStream("/some.properties");
    Properties props = new Properties();
    props.load(stream);
%>
Run Code Online (Sandbox Code Playgroud)

无论如何,我真的认为你应该在类路径中有属性文件并使用servlet

  • 是的,这是正确的方法.我承认这是快速,丑陋,肮脏,糟糕的方式. (2认同)

Don*_*son 6

强烈建议您阅读有关Model 2 Servlets的内容.我向所有仍在使用Model 1 Servlet的人推荐它,也就是说,在JSP中做"真正的工作".

关于你的问题:首先,在属性路径中抛出属性文件,然后使用getResourceAsSttream读取文件:

Thread.currentThread().getContextClassLoader().getResourceAsStream("channelLogos.properties");

当然,有很多选择,每个人都会有自己的最爱.


pka*_*ing 3

看一下ServletContext.getRealPath()。这应该为您提供属性文件的完整路径。