在Myeclipse连接Oracle中,我的JDBC驱动(Oracle自带的classes12.jar)添加上了。可是··
public class BatchJDBC {
public final static String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
public final static String DBURL = "jdbc:oracle:thin:@localhost:1521:TANKUNOR";
public final static String DBUSER = "scott";
public final static String DBPASSWORD = "tiger";
         public static void main(String args[]) throws Exception {
Connection conn = null;// 数据库的连接对象
Class.forName(DBDRIVER);// 使用class类加载驱动程序
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);中对数据库增删改查是成功的。
可是我在Servlet(如下)中连接却说java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriverpublic class AddMessageServlet extends HttpServlet {
public final static String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
public final static String DBURL = "jdbc:oracle:thin:@localhost:1521:TANKUNOR";
public final static String DBUSER = "scott";// 数据库用户名
public final static String DBPASSWORD = "tiger";// 密码
    public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
          Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
却是失败的,这是为什么呢,同样的连接,只是一个是纯java一个是Servlet。希望高手指教,初学者很混沌···感谢!

解决方案 »

  1.   

    把驱动包放到lib目录下,然后重新编译、部署项目
      

  2.   

    谢谢,可是Oracle自带的classes12.jar本来就在lib目录下。并且上下两个程序都加的同一个驱动包,第一个程序的方法实现成功,可是第二个却实现失败说java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver。这个和用TomCat服务器有关吗?不好意思我有些菜^^
      

  3.   

     你在servlet下是如何操作的
      

  4.   

    我在Servlet中就是第下面那个程序那样连接数据库,然后打开TomCat,然后部署成功,从浏览器中打开一个jsp页面,然后提交一个增加数据库的一个元祖,然后ClassNotFound···
    驱动是同一个驱动,上面那个就是成功的,下面那个Servlet的就是失败的,更换了也是一样的效果。
    感谢大家的关注,谢谢的。嘿嘿
      

  5.   

    你单独做一个驱动类,然后在servlet中引用这个类,试试
      

  6.   

    我不知道你第一个是不是用tomcat启动的,如果不是,则你的问题就出在tomcat lib中缺少驱动包
      

  7.   

    嗯嗯,看来是TomCat里的lib中没有加驱动包,嘿嘿···感谢各位好友。
      

  8.   

    这样连接的话肯定是没有驱动啊   你没有用连接池的  tomcat中是不需要jar包得啊  要不是就jar有问题 可以用oracle中的 后缀是14的jar包啊
      

  9.   

    建议楼主换ojdbc14.jar的驱动包,classes12.jar这个删除掉。
      

  10.   

    我也换oracle14.jar了可是还是不行,问题是我引入同样地包,JavaApplication就能连接Oracle,可是ServerApplication就不能连接,说ClassNotFoundException···包我引了。打扰大家了···还是没弄好。自学有些纠结···
      

  11.   

    理由很简单!
    因为main 方法执行的时候, Class.forName(DBDRIVER); 驱动被加载了,所以OK但是在servlet中。这个要说下servlet的生命周期了。你看一下web.xml 中是否配置了该servlet。然后找到<servlet>
    <servlet-name>ServletConfigurator</servlet-name>
    <servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
    <init-param>
    <param-name>xmlFile</param-name>
    <param-value>WEB-INF/proxool.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>当web容器启动的时候,servlet才会init。生命周期才开始!你的web项目,配置了tomcat或是其他服务器了嘛,服务启动了嘛?如果没有当然调不掉!因为你的servlet生命周期还没有开始
      

  12.   

    写个数据库的工具类(不会可以百度),然后在servlet中调用进行数据的操作。这么做一般没有问题。