一.JavaEE获取文件绝对路径
Java代码中:
//好像是获取当前类的绝对路径.我放到静态代块里面来,所以这样写.如果是普通的实例方法把最前面的换成:this.getClass()
String classPath = DBUtil.class.getClassLoader().getResource("").getPath();
//这里你要明白web项目到底是怎么部署的问题.才可以知道为什么这样写.下面介绍
String path = classPath.substring(0, classPath.indexOf("WEB-INF"));
//读取指定的文件
inputStream = new FileInputStream(path + "WEB-INF/classes/DB.properties");
Web代码中:
后期更新...先请百度..我也不会.好像是一个servletConfig.getRealPath()的方法
二.Web项目中的部署位置
你项目下的src下的所有文件都会被部署到tomcat/webapps/项目名/WEB-INF/classes底下
和src的同级文件在WEB-INF下
所以上边的代码:classPath.substring(0, classPath.indexOf("WEB-INF"));
这行代码的意思就是截取到WEB-INF的前一个目录下:
/opt/tomcat7/webapps/StudentManager-Web/
大概就是这样的.所以后边制定文件的时候是这样的:
path + "WEB-INF/classes/DB.properties"
所有的文件都是在tomcat/webapps/项目名这个里面
所以你的文件在那个位置应该是一幕了然了.
通过上面的代码.你就可以获取任意一个文件的路径来
三:Mariadb驱动加载不上
1.检查
1> 驱动包是否下载正确:这一步一般没有问题(可以最后考虑这个问题)
2> 驱动包是否放置对位置:WebContent/WEB-INF/lib底下
3> Connection链接是否写错:
Class.forName("org.mariadb.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/text", "root", "147258");
4>如果是配置文件,检查是否有错误:
衍生错误:
文件是否读取到.代码是否错误
5>代码是否错误