范例环境:Myeclipse6.0、tomcat6.0、sqlserver2005。 配置实录: 首先,把sqlserver的jar包导入到项目的lib和tomcat的lib中(两个都要)。 范例一: 在项目的META-INF下面新建一个context.xml文件,文件内容: <?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" username="sa" password="ltkj" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://192.168.1.110:1433;databaseName=Think" maxActive="8" maxIdle="4" /> </Context>
属性我就不一一讲了。 然后在项目的web.xml中加上配置: <resource-ref> <res-ref-name>jdbc/test</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> 其中res-ref-name要与上面的name一致,type也要一致,auth也是。 最后在项目中使用: javax.naming.Context context=new javax.naming.InitialContext() ;
javax.sql.DataSource ds=(DataSource) context.lookup("java:comp/env/jdbc/test");
java.sql.Connection connection=ds.getConnection(); 这样数据库链接对象就创建。 其中lookup是用jndi查找刚才配置的jdbc/test 范例二: 导包和调用和web.xml配置都一致,我就不重复了。 区别在于:把之前的项目中的context.xml的内容复制到tomcat下的conf下的context.xml里,全部覆盖掉。 其他都一样。 范例三: 其他都一样,我就主要说下区别部分: 在tomcat的conf下的catalina下的localhost文件夹内建一个跟项目同名的xml文件。比如我现在的项目名是:Demo_test,那么xml文件名为Demo_test.xml 内容有点改动: <?xml version="1.0" encoding="UTF-8"?> <Context docBase="F:\workspace\Demo_test\WebRoot" path="/Demo_test" reloadable="true"> <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" username="sa" password="ltkj" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://192.168.1.110:1433;databaseName=Think" maxActive="8" maxIdle="4" /> </Context> 注意其中的docBase需要定位到本项目的web根目录。path可以采用相对路径。 范例四: 如果多个项目都用这个配置源的话,你也可以改tomcat的conf下的server.xml文件。(还没尝试) 其他应该都一样。 主要区别:在server.xml下的Engine节点下的Host节点下配置一个context节点。 <Context path="" docBase="www" reloadable="false"> <!-- for mssql --> <Resource name="jdbc/wizbankds" auth="Container" type="javax.sql.DataSource" driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://localhost:1433/wizbank" username="sa" password="sasa"/> 内容就是这样了。目测跟第三点一样啊,这个我是从汇思项目中直接copy过来的。 OK,完毕。