• tomcat 7配置数据库连接池,使用SQL Server2005实现


    昨 天看了一些网上的tomcat数据库连接池配置的东西,但是一直没配好,主要原因是网上的文章几乎没有针对tomcat 7进行配置的,而且针对SQL SERVER的也不多,今天上午看了官方的文档,花了一上午时间终于配置好了数据库连接池,这里发给大家看看,如果有什么疑问就留言吧。 

    首先我们需要向项目中导入tomcat-dbcp.jar 、servlet-ap.jar和sql server的驱动sqljdbc4.jar 包到 web-inf 文件夹下的lib目录 。 

    然后增加context.xml 

    这 里有两种方法,第一种是在tomcat程序目录下面的conf/context.xml里面修改,这里修改之后所有的程序都将覆盖数据库连接池,但是 这种方法不够灵活。这里我们选择第二种方法 在项目的Web-content/meta-inf 目录下创建一个context.xml文件,在里面添加如下内容: 

    <Context path="/SYSDEMO" docBase="SYSDEMO" 

    reloadable="true" crossContext="true"> 



    <Resource name="jdbc/SYSDEMO" auth="Container" type="javax.sql.DataSource" 

    maxActive="100" maxIdle="30" maxWait="10000" 

    username="lenovo" password="lenovo" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 

    url="jdbc:sqlserver://202.115.90.241:1433;DatabaseName=SYSDEMO"/> 



    </Context> 



    这里需要修改的是 将所有的SYSDEMO改为你自己的使用的数据库的名称 

    将driverClassName改为你所使用数据库的驱动,这里是SQL SERVER的驱动。 

    将url改为jdbc链接该数据库的地址,这里是SQL SERVER的地址, 

    将username 、password改为你自己数据库用户名和密码 

    maxActive="100" maxIdle="30" maxWait="10000" 

    可以将这三个参数进行修改, 

    第一个是最大活动的连接数 

    第二个是最大的未连接数 

    第三个是最长的等待时间,单位是毫秒 



    然后再修改项目的webContent/web-inf/web.xml文件 

    添加如下内容 




    <resource-ref> 

    <description>DB Connection</description> 

    <res-ref-name>jdbc/SYSDEMO</res-ref-name> 

    <res-type>javax.sql.DataSource</res-type> 

    <res-auth>Container</res-auth> 

    </resource-ref> 



    这里必须要改的是  <res-ref-name>jdbc/SYSDEMO</res-ref-name> 

    改为 jdbc/你自己的数据库 



    好了然后就可以使用了。 



    如下是我测试的servlet文件 



    import java.io.IOException; 

    import java.sql.Connection; 

    import java.sql.SQLException; 



    import javax.naming.Context; 

    import javax.naming.InitialContext; 

    import javax.servlet.ServletException; 

    import javax.servlet.annotation.WebServlet; 

    import javax.servlet.http.HttpServlet; 

    import javax.servlet.http.HttpServletRequest; 

    import javax.servlet.http.HttpServletResponse; 

    import javax.sql.DataSource; 



    @WebServlet("/TestPool") 

    public class TestPool extends HttpServlet { 

    private static final long serialVersionUID = 1L; 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    try{ 

    Context initContext = new InitialContext(); 

    Context envContext  = (Context)initContext.lookup("java:/comp/env"); 

    DataSource ds = (DataSource)envContext.lookup("jdbc/SYSDEMO"); 

    Connection conn = ds.getConnection(); 

    System.out.println("成功了。。。。。。。。。。"); 

    }catch(Exception e){ 

    System.out.println("出错了。。。。。。。。。。。。。。。。。。"); 

    e.printStackTrace(); 









    将 DataSource ds = (DataSource)envContext.lookup("jdbc/SYSDEMO"); 

    “jdbc/SYSDEMO” 的sysdemo改为你前面使用的数据库的名称即可。 

    好了。大功告成。
  • 相关阅读:
    angularJS中的MVC思想?
    angularJs初体验,实现双向数据绑定!使用体会:比较爽
    原生JS去解析地址栏的链接?超好用的解决办法
    HDCMS多图字段的使用?
    sublime添加到鼠标右键打开文件的方法?
    Ajax做列表无限加载和Ajax做二级下拉选项
    Atitit.获取某个服务 网络邻居列表 解决方案
    Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理
    Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理
    Atitit.prototype-base class-based  基于“类” vs 基于“原型”
  • 原文地址:https://www.cnblogs.com/zhwl/p/3161253.html
Copyright © 2020-2023  润新知