运行页面的时候tomcat 下面报了错误The web application [/login] registered the JDBC driver [oracle.jdbc.driver.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.数据库的连接都没有错,别的程序连接数据库正常

解决方案 »

  1.   

    1是jar包 没有 
    2是jdbc的驱动是否写错了
    另外这驱动没注册上的原因可多了、看你是oracle的数据库
    应该是class12的一个jar(12还是14来着、我还真给忘了)按你的话:“别的程序连接数据库正常”那就可能是驱动名写错了jar包没错的话  那就是出错在程序上了、
      

  2.   

    另外也有tomcat 版本的错误、因为tomcat6以后引入了新的内存管理机制导致的
    tomcat版本高于6.0.26如果你很讨厌的话,就改为6.0。18就可以了
    https://confluence.atlassian.com/pages/viewpage.action?pageId=218275753
      

  3.   

    一般是项目应用到了SSH组合会出这种问题,多半是Hibernate版本问题。 
    原因是Hibernate3.2.3已经包含hibernate-annotations-3.2.1.GA.jar,错误在于我重新加入了Annotation.jar等jar文件 ,一般如果用集成开发环境,如Eclipse,MyEclipse等,他会自带有hibernate等框架的jar包,如果我们自己再加入相同的框架(但版本不同)的jar包,就容易引起冲突 详细请参考http://blog.csdn.net/mtgongren/article/details/6763305
      

  4.   

    login.jsp页面的内容
    -------------------------------------------------------------------------------
    <%@page contentType="text/html;charset=gbk" %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>用户登入界面</title>
    </head>
    <body bgcolor="#CED3FE">
    <center>
    <h1>登陆范例</h1>
    <hr>
    <br> <form name="form" action="login_conf.jsp" method="post">
    <table border="1" >
    <tr>
    <td bgcolor="pink"><font size="5">用户名:</font></td>
    <td> <input type="text" style="height:28px;width:160px;" name="uname"/></td>
    </tr>
    <tr>
    <td bgcolor="silver"><font size="5">密&nbsp;&nbsp;码:</font></td>
    <td><input type="password" style="width:160px;height:28px;" name="upass" /></td>
    </tr>
    <tr>
    <td></td>
    <td><input type="checkbox" id="chkRemember" name="chkRemember" style="vertical-align:middle"/>
    <label for="chkRemember" class="font_red"><font color="red">记住我一周</font></label></td>
    </tr> <tr>
    <td>
    <input type="submit" class="inputbox" value="注册">
    </td>
    <td>
        <input type="reset" class="inputbox" value="重置">
        &nbsp;&nbsp;&nbsp;&nbsp;
    <input type="submit" class="inputbox" value="登入">
    </td>
    </tr>

    </table>
    </form>

    </center>
    </body>
    </html>
    ----------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------
    login_conf.jsp的内容<%@page contentType="text/html" import="com.lu.*" pageEncoding="gbk"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <body>
    <%
       //接受请求的内容
       String u = request.getParameter("uname");
       String p = request.getParameter("upass");
      
       UserBeanCl ubc = new UserBeanCl();
       
       if(ubc.checkUser(u,p))
       {
        response.sendRedirect("login_success.jsp");
       }else
       {
        response.sendRedirect("login.jsp");
       }
     %>
    </body></html>
      

  5.   

    ConnDB.java的内容
    ----------------------------------------------------------------------------------
    package com.lu;import java.sql.*;;public class ConnDB {
    private Connection ct=null;
    public Connection getConn()
    {
    try
    {
    //1.加载驱动
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //2.得到连接
    ct = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:lhb", "luhaibin", "l23456");
    }catch(Exception e){
    e.printStackTrace();
    }
    return ct;
    }
    }------------------------------------------------------------------------------
    ------------------------------------------------------------------------------
    UserBeanCl.java的内容
    package com.lu;
    import java.sql.*;public class UserBeanCl {

    private Connection ct=null;
    private Statement sm=null;
    private ResultSet rs=null;

    //关闭资源的函数
    public void closeDB()
    {
    try
    {
    if(rs!=null)
    {
    rs.close();
    rs=null;
    }
    if(sm!=null)
    {
    sm.close();
    sm=null;
    }
    if(ct!=null)
    {
    ct.close();
    ct=null;
    }

    }catch(Exception e)
    {
    e.printStackTrace();
    }
    }

    //验证用户是否存在
    public boolean checkUser(String u,String p)
    {
    boolean b = false;
    //到数据库中去验证用户
    try
    {
    ct =new ConnDB().getConn();
    //创建Statement对象
    sm=ct.createStatement();
    rs=sm.executeQuery("select u_name from lu_user where u_name='"+u+"'");
    if(rs.next())
    {
    //说明用户存在
    if(rs.getString(1).equals(p))
    {
    //一定合法
    b = true;
    }
    }
    }catch(Exception e)
    {
    e.printStackTrace();
    }finally
    {
    //关闭资源
    //调用关闭资源函数
    this.closeDB();
    }
    return b;
    }
    }
      

  6.   

    不是没有加载什么包的问题,看看程序有没有问题吧,那个class12的jar包都是加载了的,但就是会报上面的错误,而且那个错误一下子不会出来,要过一会才会出来