Tomcat提供了两种配置数据源的方式:
全局数据源(可以让所有的web应用访问)
局部数据源(单个web应用访问)
使用tomcat的web部署:
在tomcat的conf目录下新建Catalina目录,在该目录下新建localhost目录,在localhost目录下创建一个任意名字的xml文件(部署web应用的配置文件),该文件的主文件名做为web应用的虚拟路径.例:在conf/Catalina/localhost 下创建一个test.xml文件,该文件内容如下:
<Context docBase="D:/web/test/aa" debug="0" privileged="true" > </Context>
上面配置文件里的"D:/web/test/aa" 就是web应用的绝对路径,当tomcat启动的时候,就会把"D:/web/test"下的文件夹部署成Web应用
该应用的url地址就是 http://localhost:8080/test
局部数据源和特定的web应用有关:
修改test.xml
<Context docBase="D:/web/test/aa" debug="0" privileged="true" > <Resource name="jdbc/dstest" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql:///testdb" username="root" password="root" maxActive="5" maxIdle="2" maxWait="10000" /> </Context>
java测试代码
//初始化Context,使用InitialContext初始化Context Context ctx = new InitialContext();/*通过JNDI查找数据源,JNDI意思:为某个java对象起个名字 , 上面数据源的JNDI是 jdbc/dstestjava:comp/env 是tomcat固定的, tomcat提供的JNDI必须加上 这个前缀*/DataSource dataSource = (DataSource)ctx.lookup("java:comp/env/jdbc/dstest"); //获取数据库连接Connetcion conn = dataSource.getConnection(); //获取statementStatement stmt = conn.createStatement(); //执行查询,返回ResultSet对象ResultSet rs = stmt.executeQuery("select * from test");while(rs.next()){ out.println(rs.getString(1))+rs.getString(2)); }
以上就是配置局部数据源的步骤
如果想配置全局数据源,需要修改sever.xml文件,一般不适用全局,容易破坏tomcat
时间: 2024-09-30 11:13:07