1:已经把微软的三个驱动包放在tomcat5.5的common\lib文件夹下面
2:在server.xml中 修改
 修改我的应用程序的路径:
 <Host name="localhost" appBase="F:\MyTemp\webapps"
 
  在  </Host> 之前加入下述代码:        <Context path="/FirstJsp" reloadable="true" docBase="FirstJsp">
<Resource name="jdbc/sa" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/sa">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
 <parameter>
          <name>driverClassName</name>
        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
    </parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db_login</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>maxActive</name>
<value>1000</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>50</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>50</value>
</parameter>
</ResourceParams>
</Context>3:编写连接类:
package com.yu.conpool;
import javax.naming.*;
import javax.sql.DataSource;
import java.sql.*;
public class Condata{
private static Connection con;
ResultSet rs;
private static Context ctx;
private static Context env;
public static synchronized Connection getConnection() throws Exception{
try{
ctx=new InitialContext();
env=(Context)ctx.lookup("java:comp/env");
DataSource ds=(DataSource)env.lookup("jdbc/sa");
return con=ds.getConnection();
}
catch(SQLException e){
throw e;
}
catch(NamingException e){
throw e;
} }        public ResultSet executeQuery(String sql){
try{
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}catch(SQLException er){
System.err.print(er.getMessage());
}
return rs;
}
}4:在jsp文件中:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*"%>
<%@ page import="java.util.Date" %>
<%@ page import="com.microsoft.jdbc.sqlserver.SQLServerDriver"%>
<%@ page import="com.yu.conpool.Condata"%>
<% request.setCharacterEncoding("gb2312"); %><html>
<body><br>begin<br><%
  Condata con=new Condata();
  Connection conn=con.getConnection();
  String sql="select * from user_info";
  ResultSet rs=con.executeQuery(sql);
  while(rs.next())
  {
   。
%>
</body>
</thml>提示如下错误:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /1st.jsp:1512: 
13: <%
14:   Condata con=new Condata();
15:   Connection conn=con.getConnection();
16:   String sql="select * from user_info";
17:   ResultSet rs=con.executeQuery(sql);
18:   while(rs.next())
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.ServletException: Cannot create JDBC driver of class '' for connect URL 'null'
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)是不是还要在web.xml文件中加如什么内容???
如果是的话,web.xml在哪里?tomcat的安装目录下么?加入什么内容???

解决方案 »

  1.   

    javax.servlet.ServletException: Cannot create JDBC driver of class '' for connect URL 'null' 报的是,数据库驱动类是:'',而且URL为'null'
    应该是没读到你配置的参数
      

  2.   

    不对,Tomcat 5.5.x 的配置方式与 Tomcat 5.0.x 的不一样,你这个是 5.0.x 的配置方式!启动你的 Tomcat,访问 http://localhost:8080/tomcat-docs/jndi-datasource-examples-howto.html 上面有很详细地说明和示例。  
      

  3.   

    试一下web.xml加上如下:
    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/sa</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
      

  4.   


    高手已经给出解决方案。
    这样的数据库连接池不利于系统的移植,楼主有时间可以了解下proxool等第三方的数据库连接池。
    http://hi.baidu.com/newfys/blog/item/d2da890f9b68a12d6159f354.html
      

  5.   

    试试将数据库驱动拷贝到tomcat的lib下