紧急求助,发布jar到tomcat中不成功

各位大哥,
我的tomcat有一个应用/sprs在webapps/sprs目录,配制了globe的mysql DataSource,给/sprs加了link,写了一个/sprs/test.jsp测试DataSource成功。

我在Eclipse中有一个java project。我用export工具导出成jar文件,然后放到了tomcat/server/lib中(mysql的驱动就放在这里)。在/sprs/test.jsp中〈%@ page import= "com.sprs.DB.*"%〉 ,结果报告:
package com.sprs.DB does not exist
import com.sprs.DB.*;

包名字不会写错的,我是拷贝的。不知道为什么访问不到。

我把jar解压缩到ROOT/WEB-INF/classes里去,有进步,还是通不过,我又把jdom.jar解压缩到那里,又有进步,但是提醒找不到我的sprs.xml文件,我的sprs.xml放在ROOT/WEB-INF/classes里,jdom是读取xml文件时没有加路径,直接用“sprs.xml”结果访问不到。后来放到tomcat的根目录才访问到。
请教,

1、如果自己发布jar在tomcat中,应该放在哪里?
2、如果想要把sprs.xml放到ROOT/WEB-INF/classes,取xml时应该加什么样的路径,特别在不同的应用服务器路径不断变化的情况。

web-inf/lib

要想通用,就把资源文件放到classpath里去,用classloader去load

Thread.currentThread().contextClassLoader().load("dir/sprs.xml");

已然成功了,我还发现对于/sprs这个应用,必须发布到/sprs/WEB-INF/下去。不过郁闷的是,连上后发现com.mysql.jdbc.PreparedStatement没有实现getMetaData()这个方法。提示如下:

------------------------------------------------------

com.mysql.jdbc.NotImplemented: Feature not implemented
at com.mysql.jdbc.PreparedStatement.getMetaData(PreparedStatement.java:6
46)
at org.apache.commons.dbcp.DelegatingPreparedStatement.getMetaData(Deleg
atingPreparedStatement.java:237)

-----------------------------------------------------

好郁闷呀!不知道prostag和pointBase有没有实现。

也就这样子吧,对tomcat和mysql此类东西不要把太大的希望,能实现基本的功能也就是了,毕竟免费的、小型、轻量级东西。
一分价钱一份货才是更普遍的情况。

是不是驱动包版本不够?
getMetaData()是JDBC2.0规范中的
mysql没理由不支持。

原来mysql没有在com.mysql.jdbc.PreparedStatement中提供getMetaData(),
但是在ResultSet中提供了getMetaData(),可以用了。

InputStream input =
getServletContext().getResourceAsStream("/WEB-INF/web.xml");

这样不可以吗?

Thread.currentThread().contextClassLoader().load("dir/sprs.xml");
肯定可以。