[manjaro] JavaEE获取文件路径/Web项目的部署位置/mariadb驱动加载不上

一.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>代码是否错误

 

猜你喜欢

转载自blog.csdn.net/qq_40451749/article/details/82344944