`
feohoo
  • 浏览: 109812 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Tomcat5.5配置数据源连接sql2k和mysql

阅读更多
     弄了大半天,终于把tomcat5.5配置数据源的操作弄清除,其实也挺简单的几步
tomcat5.5 连接mysql5.0
   a. 找到tomcat的server.xml文件,在 </Host>前面加上数据源的配置文件:
具体为:
<Context path="/mysql" docBase="mysql"reloadable="true"  
crossContext="true" debug="0" >
   <Resource name="jdbc/mysql"
   auth="Container"
   type="javax.sql.DataSource"
   maxActive="100"
   maxIdle="30"
   maxWait="10000"
   username="root"
   password="hailang43"
   driverClassName="com.mysql.jdbc.Driver"
   url="jdbc:mysql://localhost:3306/test?useUnicode=true"/>
</Context>
其中红色部分的path和docBase为使用该数据源的工程的名字。
  b.在工程所在目录的web.xml文件中引入这个数据源,具体代码如下:
    <resource-ref>
       <res-ref-name>jdbc/mysql</res-ref-name>
       <res-type>javax.sql.DataSource</res-type>
       <res-auth>Container</res-auth>
    </resource-ref>
注意代码加在</web-app>之前。
  c.将mysql的驱动放到工程所在的lib目录中,用一个jsp文件来验证是否连接成功
如下:
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Test of Tomcat  connection pool</title>
</head>
<body>
<%
out.print("strat test connection pool!<br/>");
try{
 Context initCtx = new InitialContext();
 Context ctx = (Context) initCtx.lookup("java:comp/env");
 Object obj = (Object) ctx.lookup("jdbc/mysql");
 DataSource ds = (javax.sql.DataSource)obj;
 Connection conn = ds.getConnection();
out.print("tomcat mysql connection pool runs perfectly!<br/>");
 out.print("The conn is  :  "+conn);
 conn.close();
}
catch(Exception ex){
 out.print(ex.getMessage());
 ex.printStackTrace();
}
%>
</body>
</html>
如果输出为不报错就OK了。
 
附注连接sql2000的代码
web.xml:
 
  <resource-env-ref>  
    <description>sql2k Connection</description>  
    <resource-env-ref-name>jdbc/sql2k</resource-env-ref-name>  
    <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>  
</resource-env-ref>
 
server.xml:
 
<Context path="/sql2k" docBase="sql2k" reloadable="true" crossContext="true" debug="0" >
<Resource name="jdbc/sql2k"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="sa"
password="hailang43"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433"/>
</Context>
这里的url后面加上useUnicode=true就会报错,请注意一下,我也不知道为什么。
 
测试jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Test of Tomcat  connection pool</title>
</head>
<body>
<%
out.print("strat test connection pool!<br/>");
try{
 Context init=new InitialContext();
 Context envContext  = (Context)init.lookup("java:/comp/env");     
 DataSource ds = (DataSource)envContext.lookup("jdbc/sql2k");
 Connection conn = ds.getConnection();
 out.print("tomcat mysql connection pool runs perfectly!");
 conn.close();
}
catch(Exception ex){
 out.print(ex.getMessage());
 ex.printStackTrace();
}
%>
</body>
</html>
 
OK,写完了。希望能对大家有所帮助!!!
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics