1.新建一个db.properties文件,在src下新建包例如:com.lwz.db然后把db.properties文件放在该包中。还要导入import java.util.Properties;
配置文件的内容如下
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/lwz
username=root
password=111111
他们都是key value对应的
2 在程序中读取文件信息
程序代码如下
public Connection getConnection() {
Properties properties = newProperties();
try {
properties.load(this.getClass().getResourceAsStream("com.lwz.db/db.properties"));
String driver= properties.getProperty("driver");
String url =properties.getProperty("url");
Stringusername = properties.getProperty("username");
Stringpassword = properties.getProperty("password");
try {
Class.forName(driver);
try{
conn= DriverManager.getConnection(url,username, password);
System.out.println("好了啊成果了");
}catch (SQLException e) {
e.printStackTrace();
}
} catch(ClassNotFoundException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
return conn;
}
这样就可以读取信息了 避免了把连接信息写在程序中不利于修改如果编译之后根本没法修改配置信息
如果报以下异常:java.lang.NullPointerException
atjava.util.Properties$LineReader.readLine(Unknown Source)
atjava.util.Properties.load(Unknown Source)
atcom.poabner.test.service.dao.BaseDao.getConn(BaseDao.java:20)
atcom.poabner.test.service.model.LoginService.checkUser(LoginService.java:31)
atcom.poabner.test.control.LoginServlet.doGet(LoginServlet.java:32)
atcom.poabner.test.control.LoginServlet.doPost(LoginServlet.java:53)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:710)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:803)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
atjava.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
atcom.poabner.test.service.model.LoginService.checkUser(LoginService.java:32)
atcom.poabner.test.control.LoginServlet.doGet(LoginServlet.java:32)
atcom.poabner.test.control.LoginServlet.doPost(LoginServlet.java:53)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:710)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:803)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
atjava.lang.Thread.run(Unknown Source)
处理方法:路径不对 properties.load(this.getClass().getResourceAsStream("com.lwz.db/db.properties"));中的"com.lwz.db /db.properties")你的路径不对