java - 指定数据库连接的目录路径

标签 java mysql

我有一个动态 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/

相关文章:

java - 在 .jar 中使用 grizzly 的 StaticHttpHandler 提供静态内容

MySQL INTERSECT 替换 INNER JOIN - 请解释

mysql - 在所有 MySql 表上要求 SSL

mysql - 使用 SQL 计算字符串和 Group By 中字符的出现次数

java - 捕获Akka/Java中路径的所有段

java - 谷歌分析异常

java - 约会的数据模型 - 选择多个日期

c# - 包括 MySQL Connector/ODBC 5.1 到 C# 应用程序

php - 如何更新 mysql 数据库 WHERE value = PHP 数组中的值?

Java:J进度条