我有一个动态 Web 项目,我正在为数据库连接创建 config.properites 文件。
SampleProject
->WebContent
->WEB_INF
->config.properties
->Index.jsp
我正在从 Index.jsp 中的配置文件中读取连接详细信息,如下所示
Properties props = new Properties();
FileInputStream in = new FileInputStream("WEB-INF/config.properties");
props.load(in);
in.close();
String driver = props.getProperty("driver");
String url = props.getProperty("url");
String username = props.getProperty("username");
String password = props.getProperty("password");
class.forName(driver);
Connection con = DriverManager.getConnection(url, username, password);
但它正在抛出
org.apache.jasper.JasperException: An exception occurred processing JSP page /Index.jsp at line 66
63:
64:
65: FileInputStream in1 =
66: new FileInputStream("WEB-INF/config.properties");
67: props.load(in1);
68: in.close();
69:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:553)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:447)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.io.FileNotFoundException: WEB-INF/config.properties (No such file or directory)
java.io.FileInputStream.open(Native Method)
java.io.FileInputStream.<init>(FileInputStream.java:137)
java.io.FileInputStream.<init>(FileInputStream.java:96)
exception.. can anyone help me how to give the directory path?
最佳答案
将配置文件放在 Web 内容目录中并不是一个好主意,这可能会导致从外部访问它。我宁愿将配置文件放在类路径中的某个位置并使用 Thread.currentThread().getContextClassLoader().getResource('config.properties')
获得 InputStream
并加载属性文件。
编辑:问题已被编辑。在WEB-INF
下有配置更好。那么就可以使用ServletContext
的方法了加载资源。
关于java - 指定数据库连接的目录路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22933561/