首先编辑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 > 在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 > 测试代码: <% 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); %>