9

This is my code for which I am getting error. My classes12.jar has been imported as an external jar.

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginAction extends HttpServlet {
Connection conn;
Statement stmt;
ResultSet rs;
String query = "SELECT * FROM v_urja_login";
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("Hello");
    String u_name = request.getParameter("uname");
    String u_pass = request.getParameter("upass");
    out.println(u_name);
    out.println(u_pass);
    try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
        conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","urja","urja");
        stmt = conn.createStatement();
        rs = stmt.executeQuery(query);
    }catch(SQLException sex){
        sex.printStackTrace();
    } catch (ClassNotFoundException cnf) {
        cnf.printStackTrace();
    }
}
}

Stacktrace:

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at LoginAction.doPost(LoginAction.java:27)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
4

8 回答 8

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

此行会导致ClassNotFoundException,因为您没有将ojdbc14.jar文件放在项目的 lib 文件夹中。或者你还没有设置classpath所需的 jar

于 2013-03-24T13:13:20.100 回答
9

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

只需将ojdbc14.jar添加到您的类路径中。

以下是在eclipse中添加ojdbc14.jar的步骤:

1)在你的项目中

2) 图书馆

3)右键单击JRE系统库

4) 构建路径

5)选择配置构建路径

6) 单击添加外部 JAR...

7) C:\oracle\app\oracle\product\10.2.0\server\jdbc\lib

8)在这里你会得到ojdbc14.jar

9) 选择这里

10) 打开

11) 好的

保存并运行程序,您将获得输出。

于 2013-03-25T07:46:04.967 回答
5

在 Eclipse 中,右键单击您的应用程序

运行方式 -> 运行配置 ->类型过滤器文本框中选择您的服务器

然后在Bootstrap Entries下的 Classpath 中添加您的classes12.jar 文件并单击Apply
现在,运行文件......这对我有用!

于 2016-07-07T18:17:05.340 回答
1

方法一:下载ojdbc.jar

将 ojdbc6.jar 添加到部署程序集。右键单击项目->属性->选择部署程序集->单击“添加”->选择“文件系统中的存档”->浏览到保存ojdbc6.jar的文件夹。->添加jar->单击完成- >应用/确定。

方法二:

如果您想将 ojdbc.jar 添加到您的 maven 依赖项中,请点击以下链接:http ://www.mkyong.com/maven/how-to-add-oracle-jdbc-driver-in-your-maven-local-repository / 。. 即使您使用的是 maven 项目,也不必将 ojdbc 添加到 maven 依赖项(方法 2),方法 1(直接添加到部署程序集)也可以正常工作。

于 2016-05-20T06:26:10.270 回答
0

尝试通过服务器lib“C:\apache-tomcat-7.0.47\lib”添加ojdbc6.jar或其他版本,

然后在eclipse中重启服务器。

于 2015-07-16T11:21:39.523 回答
0

在日食中,

在 servlet 中使用 JDBC 时,驱动程序 jar 必须放在项目的 WEB-INF/lib 目录中。

于 2018-06-28T16:03:05.730 回答
0

1.右键单击您的java项目。

2.选择“运行方式”。

3.选择“运行配置...”。

4.在页面左侧选择您的服务器,然后您会在右侧看到“CLASS PATH”选项卡,只需单击它即可。

5.点击“USER ENTRIES”并选择“ADD EXTERNAL JARS”。

6.选择“ojdbc14.jar”文件。

7.单击应用。

8.单击运行。

9.Finally 重启你的服务器然后它就会被执行。

于 2017-01-27T06:44:59.280 回答
-2

您可以添加一个具有上述指定类的 JAR,存在已安装的 java 版本支持的 egojdbc jar,还请确保已将其添加到类路径中。

于 2017-09-20T05:16:07.290 回答