Tomcat数据源配置路径问题

a921122 a921122 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
小弟最近做一个网站,使用jsp访问access数据库。
犹豫了解的不深入,对于配置数据源还是一知半解,不知道如何在配置文件中得到Web目录的位置,望指教。

在我的Web项目目录下META-INF下的文件,context.xml如下:
<?xml version="1.0" encoding="UTF-8"?>

<Context>

<Resource

name="JDBC/DBpool"

auth="Container"

type="javax.sql.DataSource"

driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"

url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=F:/abc.accdb"

maxAction="20"

maxldle="10"

maxWait="-1"

/>

</Context>


其中路径为F盘下的abc.accdb文件
但当我项目发布后,我希望把access文件放到Web项目根目录下,如:
tomcat/webapps/123/123.accdb
但是我不知道如何在xml中获取项目根目录下的路径,望指教。
是否还涉及到修改其他tomcat的配置文件

另附上我的连接池类,DbPool.java
import java.sql.*;

import javax.naming.*;
import javax.sql.DataSource;
//连接池类
public class DbPool {

private static Connection conn;//声明数据库连接对象

public void createConn() {
try {
//声明数据源
Context initCtx = new javax.naming.InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("JDBC/DBpool");
//获取数据源
conn = ds.getConnection();
System.out.println("db connect success");
} catch (Exception e) {
System.out.println("db connect error");
e.printStackTrace();
}
}
//执行sql语句,返回result
public ResultSet executeQuery(String sql) {
ResultSet rs = null;
if (conn == null) {
createConn();
}
try {
Statement st = conn.createStatement();
rs = st.executeQuery(sql);
} catch (Exception e) {
e.printStackTrace();
}
return rs;

}
}

...全文
评论 7
收藏 已收藏
分享
返回顶部
a921122
Web 开发 81,108 成员 341,721 内容