博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在tomcat中配置连接池
阅读量:6949 次
发布时间:2019-06-27

本文共 3728 字,大约阅读时间需要 12 分钟。

部署到tomcat后,src目录下的配置文件会和class文件一样,自动copy到应用的 classes目录下

1、 把oracle驱动jar包拷贝到<CATALINA_HOME>/lib目录;

      在MyEclipse中新建web project工程,并且把 oracle驱动jar 加入到工程的buildpath中。
--------------------------------------------------------------------------------------------------------------------
2、 在工程的webroot/META-INF目录下增加context.xml文件(实际反映到<CATALINA_HOME>/webapps/app应用/ 目录下),其内容:
<?xml version="1.0" encoding="UTF-8"?>
<Context  reloadable="true" >
  <Resource name="jdbc/1872" auth="Container" type="javax.sql.DataSource"
     maxActive="100" maxIdle="30" maxWait="10000"
     username="equipmanage" password="test"
     driverClassName="oracle.jdbc.driver.OracleDriver"
     url="jdbc:oracle:thin:@192.168.187.9:1521:hngolf"/>  
</Context>
--------------------------------------------------------------------------------------------------------------------
3、 在web.xml中引用数据库连接池资源:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        <http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd>">
        <resource-ref>
                <description>1872 Connection</description>
                <res-ref-name>jdbc/1872</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
                <res-auth>Container</res-auth>
        </resource-ref>
        <welcome-file-list>
                <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
</web-app>
       说明: 注意   jdbc/1872 和 第二步中的context.xml中 resource的name属性的值保持一致。
--------------------------------------------------------------------------------------------------------------------
4、 编写cn.tsp2c.stu.JdbcUtil.java
package cn.tsp2c.stu;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public final class JdbcUtil {
        public static Connection getConnection() {
                DataSource ds = null;
                Context context = null;
                try {
                        context = new InitialContext();
                        ds = (DataSource) context.lookup("java:comp/env/jdbc/1872");
                        return ds.getConnection();
                } catch (NamingException e) {
                        e.printStackTrace();
                } catch (SQLException e) {
                        e.printStackTrace();
                }
                return null;
        }
}
      说明: 注意 高亮部分中的 jdbc/1872 和 第二步中的context.xml中 resource的name属性的值保持一致。
--------------------------------------------------------------------------------------------------------------------
5、编写index.jsp
<%@ page language="java" import="java.util.*,cn.tsp2c.stu.*" pageEncoding="gbk"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.SQLException"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   
    <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
  </head>
  
  <body>
    <form method="post" name="stuform" action="">
    <%!
    Connection conn = null;
    PreparedStatement psmt = null;
    ResultSet rs = null;  
    %>
    <%
    try{
            conn = JdbcUtil.getConnection();
            if(conn == null){
                    //
            }
            String sqlStr = "select * from tb_student";
            psmt = conn.prepareStatement(sqlStr);
            rs = psmt.executeQuery();
    %>
    <table border="1">
        <tr><th> 学号</th><th>姓名</th><th>年龄</th><th>性 别</th><th>电话</th><th>住址</th></tr>
    <%
            while(rs.next()){
    %>
        <tr>    
                    <td><%= rs.getString("sid")%></td>
                    <td><%= rs.getString("sname")%></td>
                    <td><%= rs.getInt("age")%></td>
                    <td><%= rs.getString("gender")%></td>
                    <td><%= rs.getString("phone")%></td>                    
                    <td><%= rs.getString("address")%></td>
            </tr>
    <%
            }
    }catch(Exception e){
            e.printStackTrace();
    }finally{
            try{
                    rs.close();
                    psmt.close();
                    conn.close();
            }catch(SQLException e){
                    e.printStackTrace();
            }
    }    
    %>
    </table>
    </form>
  </body>
</html>

转载地址:http://zkuil.baihongyu.com/

你可能感兴趣的文章
部署桌面虚拟化时要考虑的因素
查看>>
cacti 安装部署
查看>>
整体管理
查看>>
Allegro16.6导出位号图
查看>>
mycat err:java.sql.SQLNonTransientException: find no Route:select日志报错
查看>>
Centos7.4源码搭建zabbix3.4.11企业级监控
查看>>
yumi引导盘制作
查看>>
Objective C类方法load和initialize的区别
查看>>
【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行
查看>>
LINUX中nagios客户端安装步骤及遇到问题
查看>>
CentOS6.7系统优化加强牢固脚本
查看>>
nofollow是什么意思?nofollow标签的写法和作用
查看>>
MySQL常用命令收录
查看>>
SQL 删除数据-select在当前表字段作为条件
查看>>
nike roshe run homme pas cher
查看>>
webrtc研究资源摘录
查看>>
DNS服务器上的IP地址修改
查看>>
.Net Micro Framework移植基础(包编译通过)
查看>>
LVS 三种工作模式
查看>>
keepalved 双机热备
查看>>