org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at com.AddManagerServlet.doPost(AddManagerServlet.java:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1130)
... 16 more

解决方案 »

  1.   

    不能加载“oracle.jdbc.driver.OracleDriver”这个类,你是连数据库吧,看看你连数据库的那个.JAR包有没有放到tomcat的目录中。
      

  2.   

    我想用连接池
    <Context>    <!-- Default set of monitored resources -->
        <WatchedResource>WEB-INF/web.xml</WatchedResource>

        <!-- Uncomment this to disable session persistence across Tomcat restarts -->
        <!--
        <Manager pathname="" />
        -->    <!-- Uncomment this to enable Comet connection tacking (provides events
             on session expiration as well as webapp lifecycle) -->
        <!--
        <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
        -->
       <Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30"
        maxWait="10000" username="scott" password="tiger" driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@localhost:1521:ora9" />
    </Context>。。
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.*;import java.sql.PreparedStatement;
    import java.text.SimpleDateFormat;import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.sql.DataSource;public class AddManagerServlet extends HttpServlet {
    private static final long serialVersionUID = -1213529495616811115L; public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    doPost(request, response);
    } public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { String sql = "insert into guestbook(id,name,email,phone,title,content,time)values(gb_seq.nextval,?,?,?,?,?,?)";
    int result = 0;
    request.setCharacterEncoding("GBK");
    String name = request.getParameter("name");
    String title = request.getParameter("title");
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>add manager</title></head>");
    out.println("<body>");
    if (StringUtil.validateNull(name)) {
    out.println("对不起,姓名不能为空,请重新输入!!!");
    out.println("<a href='"+request.getContextPath()+"/addMessage.html'>添加留言内容</a><br>");
    } else if (StringUtil.validateNull(title)) {
    out.println("对不起,标题不能为空,请重新输入!!!");
    out.println("<a href='"+request.getContextPath()+"/addMessage.html'>添加标题内容</a><br>");
    } else {
    try {
    Context context = new InitialContext();
    DataSource ds = (DataSource)context.lookup("java:/comp/env/jdbc/oracleds");
    Connection conn = ds.getConnection();
    PreparedStatement pstmt = conn.prepareStatement(sql);
    pstmt.setString(1, StringUtil.filterHtml(name));
    pstmt.setString(2, StringUtil.filterHtml(request
    .getParameter("email")));
    pstmt.setString(3, StringUtil.filterHtml(request
    .getParameter("phone")));
    pstmt.setString(4, StringUtil.filterHtml(title));
    pstmt.setString(5, request.getParameter("content"));
    SimpleDateFormat sdf = new SimpleDateFormat(
    "yyyy-MM-dd hh:mm:ss");
    pstmt.setString(6, sdf.format(new java.util.Date()));
    result = pstmt.executeUpdate();
    pstmt.close();
    conn.close();

    } catch (Exception e) {
    e.printStackTrace();
    }
    if(result==0){
    out.println("对不起,不成功,请重新输入!!!");
    out.println("<a href='"+request.getContextPath()+"/addMessage.html'>添加留言内容</a><br>");
    }else{
    out.println("恭喜,添加成功!!!");
    out.println("<a href='"+request.getContextPath()+"/servlet/getManager'>查看留言内容</a><br>");
    }
    out.println("</body>");
    out.println("</html>");
    out.flush();
    out.close();
    }
    }}
      

  3.   

    把驱动包放到tomcat/server/lib目录下就可以了
      

  4.   

    那也要驱动吧,把oracle驱动放在tomcat的common\lib 下试试
      

  5.   

    缺少JAR包,要在服务器的lib目录下放入你的JDBC驱动包
      

  6.   

    不能加载oracle的jdbc驱动。
       少了jar ,在tomcat 的 common/lib 目录下加入驱动包应该即可..
      

  7.   

    如果是eclipse的话···config---build path导入oracle的jar