zoukankan      html  css  js  c++  java
  • tomcat项目中配置数据库连接池

     1、 在项目中新建context.xml文件,不要在tomcat服务器的目录中修改context.xml(会对整个服务器生效)。。   在web项目的META-INF中存放context.xml

              

     2、在文件进行配置:::      配置数据库连接池的技术

     1 <?xml version='1.0' encoding='utf-8'?>
     2 <Context>
     3     <Resource
     4         driverClassName="com.mysql.jdbc.Driver" mysql驱动包
     5         url="jdbc:mysql://localhost:3306/ssm"   连接
     6         username="root"               账号
     7         password="362222"              密码
     8         maxActive="50"               最大连接数量
     9         maxIdle="10"                等待连接的数量
    10         name="test"                连接池的名称
    11         auth="Container"          谁来管理(Container是tomcat服务器)
    12         maxWait="10000"            超过10秒连接不上就报异常
    13         type="javax.sql.DataSource"        这是java中专门的为连接数据库创建的类型
    14     />
    15 </Context>

      3、通过连接池进行连接,获取连接对象

     1 package com.bjsxt.servlet;
     2 
     3 import java.io.IOException;
     4 import java.io.PrintWriter;
     5 import java.sql.Connection;
     6 import java.sql.PreparedStatement;
     7 import java.sql.ResultSet;
     8 import java.sql.SQLException;
     9 
    10 import javax.naming.Context;
    11 import javax.naming.InitialContext;
    12 import javax.naming.NamingException;
    13 import javax.servlet.ServletException;
    14 import javax.servlet.annotation.WebServlet;
    15 import javax.servlet.http.HttpServlet;
    16 import javax.servlet.http.HttpServletRequest;
    17 import javax.servlet.http.HttpServletResponse;
    18 import javax.sql.DataSource;
    19 @WebServlet("/test")
    20 public class DemoServlet extends HttpServlet{
    21     @Override
    22     protected void service(HttpServletRequest req, HttpServletResponse resp)
    23             throws ServletException, IOException {
    24         try {
    25             Context cxt=new InitialContext();   Context是上下文接口 context.xml文件对象类型
    26             DataSource ds = (DataSource) cxt.lookup("java:comp/env/test");本地数据库环境  (java:comp/env/这是固定字符串) test是自配置的连接池
    27              Connection conn = ds.getConnection();            25-27行是JNDI代码
    28              PreparedStatement ps=conn.prepareStatement("select * from flower");
    29              resp.setContentType("text/html;charset=utf-8");
    30              ResultSet rs=ps.executeQuery();              
    31              PrintWriter out = resp.getWriter();
    32              while(rs.next()){
    33                  out.print(rs.getInt(1)+"&nbsp;&nbsp;&nbsp;"+rs.getString(2));
    34              }
    35              out.flush();
    36              out.close();    当关闭连接对象时,把连接对象归还给数据库连接池,把状态改变成idle
    37                              并不是关闭
    38         } catch (NamingException e) {
    39             // TODO Auto-generated catch block
    40             e.printStackTrace();
    41         } catch (SQLException e) {
    42             // TODO Auto-generated catch block
    43             e.printStackTrace();
    44         }
    45         
    46     }
    47 }
    好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
  • 相关阅读:
    虚拟机调用本机数据库发生错误
    VS2010添加虚拟机发布的WebService引用
    IIS发布错误及解决
    JSON.parse()与JSON.stringify()的区别
    数组去重
    React性能优化 PureComponent
    JS逻辑题 技术点: 1). 变量提升 2). 函数提升 3). 预处理 4). 调用顺序
    React组件间信息传递方式
    css/css3实现未知宽高元素的垂直居中和水平居中
    关于setTimeout的一个逻辑题
  • 原文地址:https://www.cnblogs.com/axu521/p/10056835.html
Copyright © 2011-2022 走看看