Java 为数据库连接指定目录路径
我有一个动态web项目,我正在为数据库连接创建config.properites文件Java 为数据库连接指定目录路径,java,mysql,Java,Mysql,我有一个动态web项目,我正在为数据库连接创建config.properites文件 SampleProject ->WebContent ->WEB_INF ->config.properties ->Index.jsp 我正在从Index.jsp中的配置文件中读取连接细节,如下所示 Properties props = new Properties(); FileIn
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?
org.apache.jasper.JasperException:在第66行处理JSP页面/Index.JSP时发生异常
63:
64:
65:FileInputStream in1=
66:新文件输入流(“WEB-INF/config.properties”);
67:道具载荷(in1);
68:in.close();
69:
堆栈跟踪:
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)
javaservlet.http.HttpServlet.service(HttpServlet.java:722)
根本原因
java.io.FileNotFoundException:WEB-INF/config.properties(没有这样的文件或目录)
java.io.FileInputStream.open(本机方法)
java.io.FileInputStream。(FileInputStream.java:137)
java.io.FileInputStream。(FileInputStream.java:96)
例外情况。。有人能帮我给出目录路径吗?
将配置文件放在web内容目录中不是一个好主意,这样可以从外部访问它。我宁愿将配置文件放在类路径的某个地方,并使用Thread.currentThread().getContextClassLoader().getResource('config.properties')
获取InputStream
并加载属性文件
编辑:问题已被编辑。在
WEB-INF
下进行配置更好。然后,您可以使用ServletContext
的方法来加载资源。如果您确实需要在WEB-INF中存储属性,您可以尝试解析它部署到的文件系统路径
然而,我还建议将文件移动到类路径并将其作为资源加载,正如NilsH在回答中所建议的那样。一旦你这样做了,你也可以使用来读取属性。你应该试试这个:
project->webcontent->web\u-inf->index.jsp
你会粘贴完整的堆栈跟踪吗?访问属性的错误方法web-inf是一个安全的文件夹,不能像这样访问它。。。