JDBC的属性文件

Sha*_*unK 4 java jdbc

所以我的问题与我以前的帖子有关:SQLException:没有为参数1指定值

我不知道属性文件是什么.我可以从文本编辑器创建属性文件,并在Tomcat/conf文件夹中的catalina.properties文件中设置路径吗?或者我有以下内容

javabase.jdbc.url = jdbc:mysql://200.230.71.12:3306/social
javabase.jdbc.driver = com.mysql.jdbc.Driver
javabase.jdbc.username = cepein
javabase.jdbc.password = 1234cinco
Run Code Online (Sandbox Code Playgroud)

插入catalina.properties文件中的shared.loader =?

所以无论如何我做了以下事情:

# starting with file:
shared.loader= /home/shaunkoo/NetBeansProjects/dao.properties
Run Code Online (Sandbox Code Playgroud)

并在via中加载文件

private static final String PROPERTIES_FILE = "/NetBeansProjects/dao.properties";
private static final Properties PROPERTIES = new Properties();

static {
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    InputStream propertiesFile = classLoader.getResourceAsStream(PROPERTIES_FILE);
Run Code Online (Sandbox Code Playgroud)

但是,我收到的错误表明类路径中缺少/NetBeansProjects/dao.properties.有什么线索我做错了什么?

Bal*_*usC 7

我不知道属性文件是什么.

Java .properties文件只是一个配置文件,key=value每行都有一对,就像Windows(实际上是C++/C#).ini文件一样.

也可以看看:


我可以从文本编辑器创建属性文件,并在Tomcat/conf文件夹中的catalina.properties文件中设置路径吗?

归结为文件必须放在Java类路径中.对于Java Web应用程序,您可以将其放在类路径所涵盖的现有路径之一中,例如/WEB-INF/classes(在IDE中,将文件放在Java源的根文件夹中应该使其最终进入/WEB-INF/classes).您当然也可以将其放在其他位置,并将其根路径添加到类路径中,就像您尝试使用shared.loaderTomcat一样.


所以无论如何我做了以下事情:

# starting with file:
shared.loader= /home/shaunkoo/NetBeansProjects/dao.properties
Run Code Online (Sandbox Code Playgroud)

这是不正确的,它必须指向表示类路径根或单个JAR文件的文件夹.在你的情况下,它应该是:

shared.loader= /home/shaunkoo/NetBeansProjects
Run Code Online (Sandbox Code Playgroud)

这样,上述文件夹的内容就成为了类路径的一部分.


并在via中加载文件

private static final String PROPERTIES_FILE = "/NetBeansProjects/dao.properties";
Run Code Online (Sandbox Code Playgroud)

这是不正确的,上下文类加载器的路径不能以/并且不应该指向不在类路径的文件夹.您已指定它/home/shaunkoo/NetBeansProjects是类路径的一部分,因此文件夹内的所有文件都可由类加载器访问,而不是文件夹本身.在你的情况下,它应该是:

private static final String PROPERTIES_FILE = "dao.properties";
Run Code Online (Sandbox Code Playgroud)