java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

Ik heb een Java Servlet-programma geschreven, maar toen ik het uitvoerde, vertoonde het de uitzondering

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

Mijn code is

package skypark;
import java.io.*;
import javax.servlet.*;
import java.text.*;
import javax.servlet.http.*;
import java.sql.*;
import java.sql.Date;
public class Registration extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public static Connection prepareConnection() throws ClassNotFoundException, SQLException {
        String dcn = "oracle.jdbc.driver.OracleDriver";
        String url = "jdbc:oracle:thin:@JamesPJ-PC:1521:skypark";
        String usname = "system";
        String pass = "tiger";
        Class.forName(dcn);
        return DriverManager.getConnection(url, usname, pass);
    }
    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        PrintWriter out = resp.getWriter();
        try {
            String phone1, dofb, date1, month, year, uname, fname, lname, address, city, state, country;
            String pin, email, password, gender, lang, qual, relegion, privacy, hobbies, fav;
            uname = req.getParameter("uname");
            fname = req.getParameter("fname");
            lname = req.getParameter("lname");
            date1 = req.getParameter("date");
            month = req.getParameter("month");
            year = req.getParameter("year");
            address = req.getParameter("address");
            city = req.getParameter("city");
            state = req.getParameter("state");
            country = req.getParameter("country");
            pin = req.getParameter("pin");
            email = req.getParameter("email");
            password = req.getParameter("password");
            gender = req.getParameter("gender");
            phone1 = req.getParameter("phone");
            lang = "";
            qual = "";
            relegion = "";
            privacy = "";
            hobbies = "";
            fav = "";
            dofb = date1 + "-" + month + "-" + year;
            int phone = Integer.parseInt(phone1);
            DateFormat formatter;
            java.util.Date dob;
            formatter = new SimpleDateFormat("dd-MM-yy");
            dob = formatter.parse(dofb);
            Connection con = prepareConnection();
            String Query = "Insert into regdetails values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            PreparedStatement ps = con.prepareStatement(Query);
            ps.setString(1, uname);
            ps.setString(2, fname);
            ps.setString(3, lname);
            ps.setDate(4, (Date) dob);
            ps.setString(5, address);
            ps.setString(6, city);
            ps.setString(7, state);
            ps.setString(8, country);
            ps.setString(9, pin);
            ps.setString(10, lang);
            ps.setString(11, qual);
            ps.setString(12, relegion);
            ps.setString(13, privacy);
            ps.setString(14, hobbies);
            ps.setString(15, fav);
            ps.setString(16, gender);
            int c = ps.executeUpdate();
            String query = "insert into passmanager values(?,?,?,?)";
            PreparedStatement ps1 = con.prepareStatement(query);
            ps1.setString(1, uname);
            ps1.setString(2, password);
            ps1.setString(3, email);
            ps1.setInt(4, phone);
            int i = ps1.executeUpdate();
            if (c == 1 || c == Statement.SUCCESS_NO_INFO && i == 1 || i == Statement.SUCCESS_NO_INFO) {
                out.println("<html><head><title>Login</title></head><body>");
                out.println("<center><h2>Skypark.com</h2>");
                out.println("<table border=0><tr>");
                out.println("<td>UserName/E-Mail</td>");
                out.println("<form action=login method=post");
                out.println("<td><input type=text name=uname></td>");
                out.println("</tr><tr><td>Password</td>");
                out.println("<td><input type=password name=pass></td></tr></table>");
                out.println("<input type=submit value=Login>");
                out.println("</form></body></html>");
            } else {
                out.println("<html><head><title>Error!</title></head><body>");
                out.println("<center><b>Given details are incorrect</b>");
                out.println(" Please try again</center></body></html>");
                RequestDispatcher rd = req.getRequestDispatcher("registration.html");
                rd.include(req, resp);
                return;
            }
        } catch (ClassNotFoundException cnfe) {
            out.println("<html><head><title>Error!</title><body>");
            out.println("<b><i>Class not found " + cnfe + "</i></b>");
            out.println("</body></html>");
        } catch (SQLException sqle) {
            out.println("<html><head><title>Error!</title><body>");
            out.println("<b><i>Unable to process try after some time Sql error</i></b>");
            out.println("</body></html>");
        } catch (ParseException e) {
            out.println("<html><head><title>Error!</title><body>");
            out.println("<b><i>Unable to process Parseint exc " + e + "</i></b>");
            out.println("</body></html>");
        }
        out.flush();
        out.close();
    }
}

Mijn klaspad is:

C: \Windows\ system32 > echo % classpath %
  E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ oui\ jlib\ classes12.jar;
E: \app\ JamesPJ\ product 11.2.0\ dbhome_1\ jlib\ orai18n.jar;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ jdbc\ lib\ ojdc6_g.jar;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ BIN;
C: \Program Files\ Java\ jdk1.7.0_09\ bin;
C: \Users\ JamesPJ\ Documents;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ jdbc\ lib;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ jlib;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ jdbc\ lib\ ojdbc6.jar;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ oc4j\ jdbc\ lib\ orai18n.jar;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ oc4j\ jdbc\ lib\ ocrs12.jar;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ owb\ wf\ lib\ ojdbc14.jar;
C: \Program Files\ Apache Software Foundation\ Tomcat 7.0\ lib\ servlet - api.jar

Als ik de

. geef

java oracle.jdbc.driver.OracleDriver 

opdracht in opdrachtprompt, het toonde de volgende regels

Error: Main method not found in class oracle.jdbc.driver.OracleDriver, please define the main method as:
       public static void main(String[] args)

Antwoord 1, autoriteit 100%

Heb je classes12.jar gekopieerd naar de lib-map van je webtoepassing en het klassenpad in eclipse gezet.

Klik met de rechtermuisknop op project in Pakketverkenner
Pad bouwen -> Externe archieven toevoegen…

Selecteer uw ojdbc6.jar-archief

Druk op OK

Of

Ga door deze linken lees en doe het zorgvuldig.

Er zou nu naar de bibliotheek moeten worden verwezen in de “Referentiebibliotheken” onder de pakketverkenner.
Probeer nu uw programma opnieuw uit te voeren.


Antwoord 2, autoriteit 76%

Ga door het pad C:\apache-tomcat-7.0.47\lib(dit pad kan verschillen op basis van waar u de Tomcat-server hebt geïnstalleerd) en voorbij ojdbc14.jarals het niet bevat.

Herstart vervolgens de server in eclipse en voer uw app uit op de server


Antwoord 3, autoriteit 31%

team!
Voor het uitvoeren van SQL-query’s vanaf uw Servlet moet u de JDBC jar-bibliotheek toevoegen in de map

WEB-INF/lib

Hierna kunt u de chauffeur bellen, bijvoorbeeld:

Class.forName("oracle.jdbc.OracleDriver");

Nu kan Y een verbinding met de DB-server gebruiken

==> 73!


Antwoord 4, autoriteit 10%

probeer ojdbc6.jar toe te voegen via de server-lib “C:\apache-tomcat-7.0.47\lib”,

Herstart vervolgens de server in eclipse.


Antwoord 5

Ik kreeg dezelfde Kinda-fout, maar na het kopiëren van de OJDBC14.jar in Lib-map, geen uitzondering meer. (Kopieer OJDBC14.JAR van ergens en plak deze in Lib-map in WebContent.)


Antwoord 6

Ik had hetzelfde probleem, maar was in staat om het op te lossen door het volgende te doen:

Klik met de rechtermuisknop op het project – & GT; Eigenschappen, voeg vervolgens het JAR (ODJBC6- of 14) -bestand in de implementatiesamenstelling toe.


Antwoord 7

Ik was hetzelfde
een beetje fout, maar na
het kopiëren van de
ojdbc14.jar in lib
map, niet meer
Uitzondering. (Kopieer
ojdbc14.jar van
ergens en plakken
het in lib-map
binnenwebcontent.)

Other episodes