tomcat配置数据源(如何在TOMCAT中配置数据源通过JNDI访问测试操作步骤)

本文目录
- 如何在TOMCAT中配置数据源通过JNDI访问测试操作步骤
- tomcat 配置数据源问题
- tomcat 配置数据源
- 如何在tomcat是中配置数据库信息
- tomcat数据源如何配置
- 在tomcat中这么建数据源
如何在TOMCAT中配置数据源通过JNDI访问测试操作步骤
给你两个 方法,建议用方法二,简单易懂,方法一就配置和依赖的jar包多些~一下方法基于spring
方法一:
1.相应的数据库jar包 放tomcat的lib里
2.在tomcat中的context.xml文件中配置数据源参数如(db2数据库):
《GlobalNamingResources》
《Resource auth =“Container“ description=“User database that can be updated and saved“ factory= “org.apache.catalina.users.MemoryUserDatabaseFactory“ name= “UserDatabase“ pathname =“conf/tomcat-users.xml“ type= “org.apache.catalina.UserDatabase“ /》
《Resource auth =“Container“ driverClassName=“com.ibm.db2.jcc.DB2Driver“ factory= “org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory“ maxActive= “20“ maxIdel =“10“ maxWait=“1000“ name= “xxx“ password= “xxx“ type =“javax.sql.DataSource“ url= “xxxx“ username =“xxx“/》
《/GlobalNamingResources 》
《ResourceLink name= “jdbc/xxx“ global= “jdbc/xxx“ type=“javax.sql.DataSource“ /》
3.在项目配置中配置:JNDI名服务查找
《!-- JNDI数据源 --》
《jee:jndi-lookup id =“dataSource“ jndi-name=“jdbc/xxxx“
proxy-interface= “javax.sql.DataSource“ lookup-on-startup=“false“ /》
4.在配置中建立数据库操作对象与数据源的关系:
《bean id= “dalClient“ class= “xxxxxxx“ 》
《property name =“resources“ value= “classpath*:conf/sqlMap/sqlMap_*.xml“ /》
《!-- 定义默义的数据源 --》
《property name =“defaultDataSource“ ref= “xxxxxx“ /》
《/bean 》
5.在web.xml中将3,4配置文件通过上下文加载到容器中
6.在代码中直接使用dalClient就可以了
方法二:
1.applicationContex.xml配置
《!-- 读取数据源配置文件 --》
《context:property-placeholder location=“classpath:jdbc.properties“ /》
《!-- 配置数据源 --》
《bean id= “dataSource“ class=“org.springframework.jdbc.datasource.DriverManagerDataSource“ 》
《property name=“driverClassName“ value=“${jdbc.driverClassName}“ 》《/property》
《property name=“url“ value=“${jdbc.url}“》《/ property》
《property name=“username“ value=“${jdbc.username}“ 》《/property》
《property name=“password“ value=“${jdbc.password}“ 》《/property》
《/bean》
《bean id= “jdbcTemplate“ class=“org.springframework.jdbc.core.JdbcTemplate“ 》
《property name=“dataSource“ ref=“dataSource“》《/ property》
《/bean》
2.jdbc.properties配置内容:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/xxx
jdbc.username=root
jdbc.password=admin
3.在web里把1配置加载到容器里~~
tomcat 配置数据源问题
建议按以下步骤,如果还有问题,要将详细的异常贴出来。
配置tomcat下的conf下的context.xml文件,在之间添加连接池配置:
auth=“Container“
type=“javax.sql.DataSource“
driverClassName=“oracle.jdbc.driver.OracleDriver“
url=“jdbc:oracle:thin:@localhost:1521:mydb“
username=“bmgis“
password=“bmgis“
maxActive=“100“
maxIdle=“30“
maxWait=“10000“ /》
2.配置你的应用下的web.xml中的之间加入:
《description》DB Connection《/description》
《res-ref-name》jdbc/mydb《/res-ref-name》
《res-type》javax.sql.DataSource《/res-type》
《res-auth》Container《/res-auth》
《/resource-ref》
在以往的tomcat当中还需要在web.xml指定相应的resource,在tomcat 5.5以后的版本不写也可以,但建议还是配置。
3.把连接数据库的第三方驱动放到${CATALINA_HOME}/lib下面就ok了
4.测试程序test.jsp如下:
《%@ page import=“java.sql.*“%》
《%@ page import=“javax.sql.*“%》
《%
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup(“java:/comp/env“);
DataSource ds = (DataSource)envContext.lookup(“jdbc/myoracle“);
Connection conn = ds.getConnection();
conn.close();
%》
Connection refused: 表示无法建立TCP连接,检查IP和端口是否正确。
tomcat 配置数据源
呵呵,tomcat配置的都是dbcp数据库连接池的连接,附上一点心得。
1、先检查Tomcat的common/lib有没有下面3个jar包,commons-dbcp.jar、commons-poo.jar和commons-collections.jar
2、连接配置有2种,一种在conten.xml 里面配置,一种在server里面配置,为了好移植性,建议配在conten.xml ,在最大的《Context》 里面加上下面的话:
《Resource name=“jdbc/dataSource“ auth=“Container“ description=“DB Connection“ type=“javax.sql.DataSource“ username=“username“ password=“password“ driverClassName=“oracle.jdbc.driver.OracleDriver“ url=“jdbc:oracle:thin:@192.168.0.10:1521:db“ maxActive=“5“ /》
3、Java程序中拿Connection 。
Context ctx = new InitialContext();
//获取数据源,其中java:comp/env是Tomcat规定的后面的 jdbc/dataSource 就是上面xml里面配置的
DataSource ds = (DataSource)ctx.lookup(“java:comp/env/jdbc/dataSource“);
//获取数据库链接
Connection conn = ds.getConnection();
拿到Connection 后别说不会用啊,呵呵。
如何在tomcat是中配置数据库信息
1、把jtds-1.2.5.jar放到Tomcat目录里的lib目录下。如:D:\IntelliJ\tomcat7\lib
2、在D:\IntelliJ\tomcat7\conf目录里的context.xml文件里加上如下代码:
《Context》《WatchedResource》WEB-INF/web.xml《/WatchedResource》
《Resource name=“jdbc/sqlserver“ auth=“Container“ type=“javax.sql.DataSource“
driverClassName=“net.sourceforge.jtds.jdbc.Driver“
url=“jdbc:jtds:sqlserver://localhost:1433/yourDatabaseName“
username=“username“ password=“password“ maxActive=“100“ maxIdle=“30“/》
《/Context》
3、在你项目里的web.xml文件里加入如下内容:
《!--配置数据源--》《resource-ref》
《description》Sqlserver Datasource《/description》
《res-ref-name》jdbc/sqlserver《/res-ref-name》
《res-type》javax.sql.DataSource《/res-type》
《res-auth》Container《/res-auth》
《/resource-ref》
4、在你的代码里引用数据源:
private DataSource ds;public LoginBean() {
try {
// 初始化查找命名空间
Context ctx = new InitialContext();
ds = (DataSource)ctx.lookup(“java:comp/env/jdbc/sqlserver“) ;
} catch (NamingException e) {
System.out.println(“使用lookup找不到数据源.“);
e.printStackTrace();
}
}
5、测试test.jsp:
《%@ page language=“java“ import=“java.util.*“ pageEncoding=“utf-8“ %》《%@ page import=“java.sql.*“%》
《%@ page import=“javax.sql.*“%》
《%@ page import=“javax.naming.*“%》
《%!
final String JNDINAME = “java:comp/env/jdbc/sqlserver“ ;
%》
《%
Connection conn = null ;
try
{
// 初始化查找命名空间
Context ctx = new InitialContext() ;
// 找到DataSource
DataSource ds = (DataSource)ctx.lookup(JNDINAME) ;
conn = ds.getConnection() ;
String sql=“select passwd,logincount from credential where username=?“;
PreparedStatement pwdQuery=conn.prepareStatement(sql);
pwdQuery.setString(1,“admin“);
ResultSet result= pwdQuery.executeQuery();
if(!result.next()){
return;
}
System.out.println(result.getString(“passwd“)) ;
}
catch(Exception e)
{
System.out.println(e) ;
}
%》
《%=conn%》
《%
// 将连接重新放回到池中
conn.close() ;
%》
tomcat数据源如何配置
在tomcat中配置好了web.xml是不用再配的。
直接用就可以。
程序中取:
Context intitCtx = new InitialContext();
Context envCtx = (Context)intitCtx.lookup(“java:comp/env“);//从JNDI取出java环境上下文对象
DataSource ds = (DataSource)envCtx.lookup(“jdbc/oracleds“);//取数据源
Connection conn = ds.getConnection();//从连接池获取连接对象
在tomcat中这么建数据源
Tomcat数据源连接池的配置
@@@@@@首先在lib目录下安装驱动
一、首先利用tomcat的web管理配置数据源,有以下几项
1 Jndi name :数据源连接池命名
2 Data Source URL: jdbc:mysql://localhost/test mysql是数据库类型,test是数据库名字 localhost是表示用本地的数据库
3 JDBC Driver Class: 数据库驱动类 mysql使用org.gjt.mm.mysql.Driver
4 User name 是数据库的用户名 5 Password是数据库的密码
6 Max.Active Connections: 最大的活动连接数
6 Max.ldle Connections:最大的空闲连接数
7 Max.Wait for Connection: 最大的等待连接数
以上配置完毕点击Save--Commit Changes--Log out
二、在tomcat安装目录下/conf/web.xml中添加如下信息
《resource-ref》
《description》DB Connection《/description》
《res-ref-name》jdbc/mysql《/res-ref-name》 //要使用的数据源的名字
《res-type》javax.sql.DataSource《/res-type》 //数据源的类型
《res-auth》Container《/res-auth》 //和一中的一致
《/resource-ref》
三、在tomcat安装目录下/conf/catalina/localhost目录下找到当前项目的配置信息(项目名.xml),添加
《ResourceLink name=“jdbc/mysql“ global=“jdbc/mysql“ type=“javax.sql.DataSource“/》
以上完成了连接池的配置
第二种就是
1 把第一种步骤1里产生的代码放入tomcat安装目录下/conf/catalina/localhost/项目名.xml中
产生代码如下:
《Resource auth=“Container“ description=“User database that can be updated and saved“ name=“UserDatabase“ type=“org.apache.catalina.UserDatabase“/》
《Resource name=“jdbc/mysql“ type=“javax.sql.DataSource“/》
《ResourceParams name=“UserDatabase“》
《parameter》
《name》factory《/name》
《value》org.apache.catalina.users.MemoryUserDatabaseFactory《/value》
《/parameter》
《parameter》
《name》pathname《/name》
《value》conf/tomcat-users.xml《/value》
《/parameter》
《/ResourceParams》
《ResourceParams name=“jdbc/mysql“》
《parameter》
《name》url《/name》
《value》jdbc:mysql://localhost/test《/value》
《/parameter》
《parameter》
《name》password《/name》
《value》《/value》
《/parameter》
《parameter》
《name》maxActive《/name》
《value》4《/value》
《/parameter》
《parameter》
《name》maxWait《/name》
《value》5000《/value》
《/parameter》
《parameter》
《name》driverClassName《/name》
《value》org.gjt.mm.mysql.Driver《/value》
《/parameter》
《parameter》
《name》username《/name》
《value》root《/value》
《/parameter》
《parameter》
《name》maxIdle《/name》
《value》2《/value》
《/parameter》
《/ResourceParams》
2 在tomcat安装目录下/conf/web.xml中添加如下信息
《resource-ref》
《description》DB Connection《/description》
《res-ref-name》jdbc/mysql《/res-ref-name》 //要使用的数据源的名字
《res-type》javax.sql.DataSource《/res-type》 //数据源的类型
《res-auth》Container《/res-auth》
《/resource-ref》
两者的区别是作用域不同
数据库连接测试:
InitialContext ctx = new InitialContext();
ds = (DataSource) ctx.lookup(“java:comp/env/jdbc/mysql“);
conn = ds.getConnection();
中文显示问题:
public static String toChinese(String strvalue) {
try{
if(strvalue==null)
{
return null;
}
else {
strvalue = new String(strvalue.getBytes(“ISO8859_1“), “GBK“);
return strvalue;
}
}catch(Exception e){
return null;
}
}

更多文章:
another time(another time和other time的区别)
2026年10月11日 05:00









