tomcat 4.1.10与sql server2000的数据库连接问题

lanyunfeng 2002-10-29 11:25:21
server.xml内容如下:
<?xml version='1.0' encoding='utf-8'?>
<Server className="org.apache.catalina.core.StandardServer" port="8005" debug="0" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" debug="0"/>
<GlobalNamingResources>
<Environment name="simpleValue" override="true" type="java.lang.Integer" value="30"/>
<Resource name="jdbc/SqlDB" scope="Shareable" type="javax.sql.DataSource"/>
<Resource name="UserDatabase" scope="Shareable" type="org.apache.catalina.UserDatabase" auth="Container" description="User database that can be updated and saved"/>
<ResourceParams name="jdbc/SqlDB">
<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://bluecoffee:1433;DatabaseName=jsp</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>xxxx</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>validationQuery</name>
<value></value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>60</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
</ResourceParams>
……
</GlobalNamingResources>
……
</Server>

web.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN' 'http://java.sun.com/j2ee/dtds/web-app_2.2.dtd'>

<web-app>
<servlet>
<servlet-name>infovalidate</servlet-name>
<servlet-class>com.blue.beans.InfoValidate</servlet-class>
</servlet>
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>Test</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>infovalidate</servlet-name>
<url-pattern>/info.validate</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test.test</url-pattern>
</servlet-mapping>

<session-config>
<session-timeout>30</session-timeout>
</session-config>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>


</web-app>

Test.java内容如下:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;

public class Test extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{
res.setContentType("text/plain");
PrintWriter out = res.getWriter();
try
{
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/SqlDB");
Connection con = ds.getConnection();
out.println("Database connect successful!");
con.close();
}
catch (SQLException sqlex)
{
sqlex.printStackTrace();
out.println("sql server connect failed!"+sqlex.toString());
}
catch (NamingException nex)
{
nex.printStackTrace();
out.println("the database didn't find!"+nex.toString());
}
}
};
编译后执行网页上内容显示如下:
sql server connect failed!java.sql.SQLException: Cannot load JDBC driver class 'null'

我已经安装JDBC驱动,同时三个jar文件也拷至TOMCAT的common\lib目录下,请各位兄弟帮忙解决一下,谢谢了!
...全文
59 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanyunfeng 2002-10-30
  • 打赏
  • 举报
回复
如果可以的话,希望哪位使用tomcat4和SQL SERVER2000做WEB应用的兄弟,把在你的机子上已经成功连接SQL SERVER2000的TOMCAT的server.xml和你所编写的WEB应用目录里的web.xml文件发送到我的信箱seon0510@sina.com,谢谢
lanyunfeng 2002-10-30
  • 打赏
  • 举报
回复
如果可以的话,希望哪位使用tomcat4和SQL SERVER2000做WEB应用的兄弟,把在你的机子上已经成功连接SQL SERVER2000的TOMCAT的server.xml和你所编写的WEB应用目录里的web.xml文件发送到我的信箱seon0510@sina.com,谢谢
xuw 2002-10-30
  • 打赏
  • 举报
回复
我也建议你把那三个文件加到classpath中.
不行的话再试别的.
你把classpath贴出来看看.
希偌 2002-10-30
  • 打赏
  • 举报
回复
直接在classpath中加入那三个文件的路径就ok了
linfei 2002-10-30
  • 打赏
  • 举报
回复
test.java中把("java:comp/env/jdbc/SqlDB");改成("jdbc/SqlDB");试试
xmvigour 2002-10-30
  • 打赏
  • 举报
回复
如果这样还不行 把3个sql的jarcopy到JAVA_HOME%\lib\下 然后再加到classpath中
lanyunfeng 2002-10-30
  • 打赏
  • 举报
回复
classpath如下:
.;%JAVA_HOME%\lib\tools.jar;%J2EE_HOME%\lib\j2ee.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;C:\Program Files\JavaSoft\JRE\1.3.1_03\lib\ext\QTJava.zip;
lanyunfeng 2002-10-29
  • 打赏
  • 举报
回复
在web.xml中添加了
<resource-ref>
<description>
JNDI DataSource for example database
</description>
<res-ref-name>jdbc/SqlDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
内容还是显示同样结果,因为困扰很多天了,希望麻烦大家帮忙解决下问题,谢谢了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧