前台用JSP 后台数据库用MSSQL请问下如何控制数据库的连接最好  效率最高 速度最快偶看了下有的介绍用 SERVLET
有的是直接用 conn.jsp里面写连接的...
有经验的给看看 该如何呢谢谢 

解决方案 »

  1.   

    tomcat5.5.9+sql2000数据库连接池配置
     
       ChinaITLab 收集整理  2005-12-6  保存本文  推荐给好友  QQ上看本站  收藏本站  --------------------------------------------------------------------------------
     
     
      终于解决了困扰多天的连接池的问题,写下这编文章与大家一起分享。我是在tomcat5.5.9下配置的,tomcat5.5.X和以前的版本有一些差别,所以配置上也有差别。我就说一下在tomcat5.5.9配置的基本步骤:(确定你以安装好tomcat5.5.9、sql2000)
      
      1、把数据库JDBC驱动拷贝到%TOMCAT_HOME%/common/lib和%TOMCAT_HOME%/webapps/yourweb/WEB-INF/lib下(我的web文件夹名字叫quickstart)
      
      这一步大家都知道,不然tomcat无法与数据库连接。
      
      2、修改%TOMCAT_HOME%/conf/server.xml文件,在 <GlobalNamingResources></GlobalNamingResources>之间
      
      添加以下内容:
      <Resource
      name="jdbc/quickstart"
      type="javax.sql.DataSource"
      password="123456"
      driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
      maxIdle="2"
      maxWait="5000"
      username="sa"
      url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"   maxActive="4"/>
      
      以上内容根据大家的具体情况进行相应修改,比如:把name="jdbc/quickstart"中的quickstart改成和你web文件夹名称一样,把password="123456"中的“123456”改成你数据库的密码。
      
      3、在%TOMCAT_HOME%/conf/Catalina/localhost下新建一个与你web文件夹同名的xml文件(我的是quickstart.xml)
      
      这一步非常重要,如果没有这步就会出错,会出现org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
      
      这样的错误,在文件中加入第2步的内容,如下:
      
      <?xml version="1.0" encoding="UTF-8"?><Context>
      <Resource
      name="jdbc/quickstart"
      type="javax.sql.DataSource"
      password="123456"
      driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
      maxIdle="2"
      maxWait="5000"
      username="sa"
      url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"
      maxActive="4"/> </Context>
      
      根据个人具体情况进行相应修改。
      
      4、修改%TOMCAT_HOME%/webapps/yourweb/WEB-INF下的web.xml文件,在<web-app></web-app>之间添加以下内容
      
      <resource-ref>
      <description>sqlserverDB Connection</description>
      <res-ref-name>jdbc/quickstart</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
      </resource-ref>
      
      把<res-ref-name>jdbc/quickstart</res-ref-name>中的quickstart改成你的web文件夹名称。
      
      5、测试,在quickstart下新建一个index.jsp文件
      
      <%@ page contentType="text/html; charset=gb2312" %><%@ page import="javax.naming.*" %><%@ page import="javax.sql.*" %><%@ page import="java.sql.*" %><html><head><title>JDBC Test</title></head><body><%
      Connection conn=null;
      Statement stmt=null;
      ResultSet rs=null;
      ResultSetMetaData md=null;
      try
      {
      Context initCtx=new InitialContext();
      DataSource ds=(DataSource)initCtx.lookup("java:comp/env/jdbc/quickstart");
      if(ds!=null)
      {
      out.println("已经获得DataSource");
      out.println(ds.toString());
      conn=ds.getConnection();
      stmt=conn.createStatement();
      out.println("aa");
      rs=stmt.executeQuery("select * from cat");
      md=rs.getMetaData();
      out.println("<table border=1>");
      out.println("<tr>");
      for(int i=0;i<md.getColumnCount();i++)
      {
      out.println("<td>"+md.getColumnName(i+1)+"</td>");
      }
      while(rs.next())
      {
      out.println("<tr>");
      out.println("<td>"+rs.getString(1)+"</td>");
      out.println("<td>"+rs.getString(2)+"</td>");
      out.println("<td>"+rs.getString(3)+"</td>");
      out.println("<td>"+rs.getString(4)+"</td>");
      out.println("</tr>");
      }
      out.println("</table>");
      conn.close();
      }
      }
      catch(Exception e)
      {
      out.println(e.toString());
      System.out.println(e.toString());
      }%></body></html>
      
      运行tomcat服务器,在浏览器中输入http://localhost:8080/quickstart/index.jsp看看成功了没有。 
     
    明白了 顺便推荐大家看下 HOHO
      

  2.   

    我是用连接池做的,在TOMCAT的server.xml里配置成如下形式:
    <Context path="/testStruts(项目名)" reloadable="true" docBase="E:\WORK\testStruts"(SOURCE路径) workDir="E:\WORK\testStruts\work">
        <Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"/>
        <ResourceParams name="jdbc/mysql">
            <parameter>
                <name>factory</name>
                <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
            </parameter>
            <parameter>
                <name>driverClassName</name>
                <value>org.gjt.mm.mysql.Driver</value>
            </parameter>
            <parameter>
                <name>url</name>
                <value>jdbc:mysql://127.0.0.1/strutsdb</value>
            </parameter>
            <parameter>
                <name>username</name>
                <value>root</value>
            </parameter>
            <parameter>
                <name>password</name>
                <value></value>
            </parameter>
            <parameter>
                <name>maxActive</name>
                <value>10</value>
            </parameter>
            <parameter>
                <name>maxWait</name>
                <value>5000</value>
            </parameter>
            <parameter>
                <name>maxIdle</name>
                <value>2</value>
            </parameter>
        </ResourceParams>
    </Context>
    在你的联库文件里用如下方法可以得到CONNECTION:
    protected final Connection getConnection()
    {
    String datasource = null;
    DataSource ds = null;
    InitialContext incontext = null; try 
    {
    Context ctx = new InitialContext();
    ds = (DataSource)ctx.lookup(JNDI_ENVIRMENT + DATASOURCE);
        } catch (NamingException e) {
           e.printStackTrace();
        }
        try 
        {
            conn = (Connection) ds.getConnection();
        } catch (SQLException e1) {
           System.out.println("SQLException" + e1.getMessage());
        }
    return conn;
    }
      

  3.   

    你哪个是MYSQL 的配置吧 
    我现在配置好了
    已经获得DataSource! 
    java.sql.SQLException: Cannot load JDBC driver class 'null' 这是什么意思?
      

  4.   

    没有连接数据库的jar文件,去下载一个吧,加到你的工程中
      

  5.   

    jdbc的 三个驱动文件都有啊!
      

  6.   

    jdbc用的是那个mm.mysql-2.0.4-bin.jar