介绍两种方式,第一种是不依赖于tomcat的配置;第二中是依赖于tomcat的配置;但是这两种都需要在tomcat的lib包下添加所需的数据库驱动包
第一种,不依赖于tomcat的配置:
1、把所需驱动包放到tomcat的lib包下
2、配置web工程的web/META-INF/添加“context.xml”文件
- <Context>
- <!--Defaultsetofmonitoredresources-->
- <WatchedResource>WEB-INF/web.xml</WatchedResource>
- <Resourcename="jdbc/pmlf"
- type="javax.sql.DataSource"
- driverClassName="oracle.jdbc.driver.OracleDriver"
- url="jdbc:oracle:thin:@localhost:1521:orcl"
- username="GH_HN"
- password="GH_HN"
- maxIdle="10"
- maxWait="5000"
- validationQuery=""
- DatabaseName="PMLF"
- maxActive="20"/>
- </Context>
3、 代码调用
- publicConnectiongetConnection(){
- Connectionconn=null;
- try{
- ContextinitCtx=newInitialContext();
- Contextctx=(Context)initCtx.lookup("java:comp/env");//固定字符串<spanstyle="font-family:Arial,Helvetica,sans-serif;">java:comp/env</span>
- Objectobj=(Object)ctx.lookup("jdbc/pmlf");
- javax.sql.DataSourceds=(javax.sql.DataSource)obj;
- conn=ds.getConnection();
- if(conn==null){
- System.out.printly("获取连接失败");
- }
- returnconn;
- }
- catch(Exceptione){
- <spanstyle="white-space:pre"></span>e.printStackTrace();
- }
- }
第二中,依赖于tomcat的配置,从网上摘录,理论可以,但是没有亲自确认。
1、修改tomcat中配置文件-conf/context.xml,配置如下
- <Context>
- <!--Defaultsetofmonitoredresources-->
- <WatchedResource>WEB-INF/web.xml</WatchedResource>
- <!--UncommentthistodisablesessionpersistenceacrossTomcatrestarts-->
- <!--
- <Managerpathname=""/>
- -->
- <Resourcename="jcptDataSourceJNDI"auth="Container"type="javax.sql.DataSource"
- username="tysp"password="12345678"driverClassName="oracle.jdbc.driver.OracleDriver"
- url="jdbc:oracle:thin:@192.168.1.52:1521:fuxing"/>
- <!--UncommentthistoenableCometconnectiontacking(providesevents
- onsessionexpirationaswellaswebapplifecycle)-->
- <!--
- <ValveclassName="org.apache.catalina.valves.CometConnectionManagerValve"/>
- -->
- </Context>
2、在项目下的WEB-INF/web.xml添加配置代码
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- <resource-ref>
- <description>DatabaseSource</description>
- <res-ref-name>jcptDataSourceJNDI</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
3、将数据库驱动jar包放入tomcat的lib中
4、测试,地址引用
- <body>
- <%
- ContextinitContext=newInitialContext();
- ContextenvContext=(Context)initContext.lookup("java:/comp/env");
- DataSourceds=(DataSource)envContext.lookup("jcptDataSourceJNDI");
- Connectionconn=ds.getConnection();
- if(conn==null){
- out.println("连接失败!");
- }else{
- out.println("连接成功!");
- }
- Statementstmt=conn.createStatement();
- ResultSetrs=stmt.executeQuery("select*fromt_sys_dept");
- while(rs.next()){
- out.println("第一列:"+rs.getString(1));
- }
- %>
- </body>