首先编辑Server.xml,添加数据源代码
<
Context
path
="/StudentManager"
docbase
="StudentManager"
debug
="5"
reload
="true"
crossContext
="true"
>
< Resource name ="jdbc/StudentManager" auth ="Container" type ="javax.sql.DataSource" />
< ResourceParams name ="jdbc/StudentManager" >
< parameter >
< name > factory </ name >
< values > org.apache.commons.dbcp.BasicDataSourceFactory </ values >
</ parameter >
< parameter >
< name > url </ name >
< values > jdbc:mysql://localhost:3306/studentmanager </ values >
</ parameter >
< parameter >
< name > driverclassname </ name >
< values > com.mysql.jdbc.Driver </ values >
</ parameter >
< parameter >
< name > username </ name >
< values > root </ values >
</ parameter >
< parameter >
< name > password </ name >
< values > root </ values >
</ parameter >
< parameter >
< name > maxWait </ name >
< values > 3000 </ values >
</ parameter >
< parameter >
< name > maxIdle </ name >
< values > 10 </ values >
</ parameter >
< parameter >
< name > maxActive </ name >
< values > 100 </ values >
</ parameter >
</ ResourceParams >
</ Context >
< Resource name ="jdbc/StudentManager" auth ="Container" type ="javax.sql.DataSource" />
< ResourceParams name ="jdbc/StudentManager" >
< parameter >
< name > factory </ name >
< values > org.apache.commons.dbcp.BasicDataSourceFactory </ values >
</ parameter >
< parameter >
< name > url </ name >
< values > jdbc:mysql://localhost:3306/studentmanager </ values >
</ parameter >
< parameter >
< name > driverclassname </ name >
< values > com.mysql.jdbc.Driver </ values >
</ parameter >
< parameter >
< name > username </ name >
< values > root </ values >
</ parameter >
< parameter >
< name > password </ name >
< values > root </ values >
</ parameter >
< parameter >
< name > maxWait </ name >
< values > 3000 </ values >
</ parameter >
< parameter >
< name > maxIdle </ name >
< values > 10 </ values >
</ parameter >
< parameter >
< name > maxActive </ name >
< values > 100 </ values >
</ parameter >
</ ResourceParams >
</ Context >
在Web.xml中加入对jndi的引用
<
resource-ref
>
< description > SqlServer Datasource example </ description >
< res-ref-name > jdbc/StudentManager </ res-ref-name >
< res-type > javax.sql.DataSource </ res-type >
< res-auth > Container </ res-auth >
</ resource-ref >
< description > SqlServer Datasource example </ description >
< res-ref-name > jdbc/StudentManager </ res-ref-name >
< res-type > javax.sql.DataSource </ res-type >
< res-auth > Container </ res-auth >
</ resource-ref >
测试代码:
<%
String jndi = " java:comp/env/jdbc/StudentManager " ;
DataSource ds = null ;
try ... {
Context initCtx=new InitialContext(); //初始化上下文,可以读配置文件如:web.xml
if(initCtx==null)
throw new Exception("Initial Failed!");
Context ctx=(Context)initCtx.lookup("java:comp/env");
if(ctx!=null)
ds=(DataSource)ctx.lookup("jdbc/StudentManager");
if(ds==null)
throw new Exception("Look up DataSource Failed!");
}
catch (Exception e) ... {
System.out.println(e.getMessage());
}
System.out.println(ds);
%>
String jndi = " java:comp/env/jdbc/StudentManager " ;
DataSource ds = null ;
try ... {
Context initCtx=new InitialContext(); //初始化上下文,可以读配置文件如:web.xml
if(initCtx==null)
throw new Exception("Initial Failed!");
Context ctx=(Context)initCtx.lookup("java:comp/env");
if(ctx!=null)
ds=(DataSource)ctx.lookup("jdbc/StudentManager");
if(ds==null)
throw new Exception("Look up DataSource Failed!");
}
catch (Exception e) ... {
System.out.println(e.getMessage());
}
System.out.println(ds);
%>