可以通过两个的方式
1在server.xml中<GlobalNamingResources>里面添加
<Resource
name="jdbcmssql"
type="javax.sql.DataSource"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
password="li411"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://10.1.64.186:1433;databaseName=pubs"
maxActive="4"/>
在conf/Catalina/localhost对应项目的xml中添加
<ResourceLink
global="jdbcmssql"
name="mssql"
type="javax.sql.DataSource"/>
在项目web-inf中web.xml中添加
<resource-env-ref>
<description>
</description>
<resource-env-ref-name>mssql</resource-env-ref-name>
<resource-env-ref-type>
javax.sql.DataSource
</resource-env-ref-type>
</resource-env-ref>
2 同样实在server.xml中在</host>前面添加
<Context path="/DBTest" docBase="DBTest"
debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="sa" password="li411" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://10.1.64.186:1433;databaseName=pubs"/>
</Context>
在项目web-inf中web.xml中添加
<description>MsSQL Test App</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
测试:
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%
DataSource ds = null;
try{
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
String strSql = " select * from authors";
ResultSet rs = stmt.executeQuery(strSql);
while(rs.next()){
out.println(rs.getString(1));
}
}
catch(Exception ex){
out.print(ex);
ex.printStackTrace();
}
%>
结论:
仔细看文档