server.xml:
<Resource name="jdbc/test" auth="SERVLET"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/test">
<parameter><name>user</name><value>aa</value></parameter>
<parameter><name>password</name><value>bb</value></parameter>
<parameter><name>driverClassName</name>
<value>com.caucho.jdbc.mysql.Driver</value></parameter>
<parameter><name>driverName</name>
<value>jdbc:mysql-<value>caucho://localhost:3306/test</value></parameter>
</ResourceParams>jsp:
Context env;
DataSource source;
Connection conn = null;
try{
env= (Context) new InitialContext().lookup("java:comp/env");
source= (DataSource) env.lookup("jdbc/test");
conn = source.getConnection();
...
}
<Resource name="jdbc/test" auth="SERVLET"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/test">
<parameter><name>user</name><value>aa</value></parameter>
<parameter><name>password</name><value>bb</value></parameter>
<parameter><name>driverClassName</name>
<value>com.caucho.jdbc.mysql.Driver</value></parameter>
<parameter><name>driverName</name>
<value>jdbc:mysql-<value>caucho://localhost:3306/test</value></parameter>
</ResourceParams>jsp:
Context env;
DataSource source;
Connection conn = null;
try{
env= (Context) new InitialContext().lookup("java:comp/env");
source= (DataSource) env.lookup("jdbc/test");
conn = source.getConnection();
...
}
server.xml中的配置楼上的已讲了,我就说说在web.xml下的配置吧
<resource-ref>
<res-ref-name>jdbc/mysql</res-ref-name>
//这个值应和你在servel.xml中配置的值一致
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
这样配置好后就可以在程序中使用了(我就是这样用的)
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.sql.DataSource"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="java.sql.*"%><%
DataSource ds = null;
Connection conn = null;
try{
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource)envCtx.lookup("jdbc/mysql");
conn = ds.getConnection();
if(conn!=null)
out.println("Connection is OK!");
else
out.println("Connection Failed!");
}catch(Exception e){
out.println(e.getMessage());
}
%>
是运行到:ds = (DataSource)envCtx.lookup("jdbc/mysql"); 出错的。
另,真的是连接池吗?怎样设置最大、最小连接数?
如果你需要,mailto:[email protected]