• tomcat配置sqlserver数据库


    1. 首先确保Tomcat安装文件夹中的commonlib(对于Tomcat5.5)或者是lib(Tomcat6.0)文件夹中已包括JDBC连接数据库所必须的三个.jar文件(msbase.jar , mssqlserver.jar 和msutil.jar,JDBC驱动器中包括这三个文件,仅仅需将JDBC驱动器安装后的lib文件夹下的这三个文件拷贝到Tomcat安装文件夹的lib文件夹下就可以)。

    2. 改动Tomcat安装文件夹的conf子文件夹中的server.xml和context.xml文件。

    对于server.xml文件,在<GlobalNamingResources>元素中加入例如以下的内容:

    <Resource name="数据库名"
           auth="Container"
           type="javax.sql.DataSource"
           username="sa"
           password="123"
           driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
           maxIdle="10"
           maxWait="10000"
           maxActive="100"
           url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test1"
        />

    注:test1是一个建好的数据库.

    各字段含义例如以下:

    name:定义数据库连接的名称                driverClassName:指定JDBC驱动器的类

    username:登陆数据库时使用的用户名      password:登陆数据库的密码

    maxIdle:数据库连接的最大空暇时间          maxWait:表示最大建立连接等待时间

    maxActive:连接池的最大数据库连接数      url:表示的是须要连接的数据库的地址和名称

    对于context.xml文件,在<Context>元素中加例如以下内容:

    <ResourceLink global="数据库名字" name="jdbc/TestDB" type="javax.sql.DataSource" />

    两个数据库名称应该一一致

    3.见一个.jsp文档来測试

    内容例如以下,

    我这里在C:apache-tomcat-6.0.39webappszhanglixuan这个应用下建立的

    所以须要改动一下这个应用下的C:apache-tomcat-6.0.39webappszhanglixuanWEB-INFweb.xml文档

    在<web-app>标签之间加入

    <resource-ref> 
    <description>sqlserverDB Connection</description> 
    <res-ref-name>jdbcTestDB</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope> 
    </resource-ref> 

    然后将以下的jsp代码替换原来的index.jsp,并訪问这个jsp就可以

    完毕配置后,可用例如以下文件来測试连接池配置是否正确.

    <%@ page language="java" contentType="text/html; charset=gb2312"
        pageEncoding="gb2312"%>
    <%@ page import="java.sql.*,javax.naming.*" %>

    <%
    try{
       Context initCtx=new InitialContext();
       Context ctx=(Context)initCtx.lookup("java:comp/env");
       //获取连接池对象
       Object obj=(Object)ctx.lookup("jdbc/TestDB");
       //类型转换
       javax.sql.DataSource ds=(javax.sql.DataSource)obj;
       //从连接池中获取数据库连接对象
       Connection conn=ds.getConnection();
       Statement stmt=conn.createStatement();
       //获取server端时间,该SQL语句适用于SQLServer
       String strSQL="select getDate()";
       ResultSet rs=stmt.executeQuery(strSQL);
       rs.next();
       Date date=rs.getDate(1);
       out.println(date.toString());
       rs.close();
       stmt.close();
       conn.close();
    }
    catch(Exception e){
       out.println(e);
    }
    %>

    该实例測试程序通过数据库连接池的方式获取了MS SQLServer所在server的当前时间,执行结果例如以下,表明连接池配置成功.


  • 相关阅读:
    第九篇 正则表达式
    第八篇、递归、装饰器
    第四篇、函数和递归
    第二篇、HTML
    nginx rewrite标签配置以及用户认证配置
    nginx location
    nginx日志配置,以及日志轮询
    nginx别名配置,状态配置,include优化
    第一篇 先用socket模拟web服务器
    第二十八篇、自定义线程池
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4052157.html
Copyright © 2020-2023  润新知