2013-03-24 55 views
3

这是我的代码,我收到错误。我的classes12.jar已作为外部罐子进口。oracle.jdbc.driver.OracleDriver ClassNotFoundException

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(); 
    } 
} 
} 

堆栈跟踪:

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) 
+0

代码在哪里? :) – Maroun 2013-03-24 13:01:44

+0

司机在哪里? – 2013-03-24 13:04:56

+0

Maroun Maroun我已经为你添加了代码。 – Mavrick 2013-03-24 13:11:22

回答

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

此行导致ClassNotFoundException,因为你还没有放置ojdbc14.jar文件中的项目的lib文件夹。或者您还没有设置必要的罐子

+0

补充说,也没有得到解决方案。 – Mavrick 2013-03-24 13:20:30

+0

@Mavrick在您的lib文件夹中添加classes12.jar – Pragnani 2013-03-24 13:33:07

+0

干草我已经添加了两个jar文件。 – Mavrick 2013-03-24 13:39:23

4

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

classpath就在将ojdbc14.jar添加到类路径。

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

1)项目内部

2)图书馆

3)JRE系统库

右击

4)构建路径

5)选择配置构建路径

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

7)C:\ oraclexe \程序\ ORACLE \产品\ 10.2.0 \服务器\ JDBC \ lib中

8)在这里,你会得到ojdbc14。罐子

9)选择在这里

10)开放

11)确定

保存并运行程序,你会得到输出。

0

试图通过服务器的lib添加ojdbc6.jar或其他版本的 “C:\ Apache的Tomcat的7.0.47 \ LIB”,

然后,重新启动Eclipse中的服务器。

0

方法1:下载ojdbc.jar

ojdbc6.jar添加到部署组装。右键点击project-> properties->选择部署程序集 - >点击'Add' - >选择'Archives from File System' - >浏览到保存ojdbc6.jar的文件夹。 - >添加jar - >点击完成 - >应用/确定。

方法2:

如果你想ojdbc.jar添加到您的Maven依赖你遵循这个链接

http://www.mkyong.com/maven/how-to-add-oracle-jdbc-driver-in-your-maven-local-repository/ 。 。 即使您使用的是Maven项目,也不需要将ojdbc添加到Maven依赖项(方法2),但方法1(直接添加到部署程序集)可以很好地工作。

1

在Eclipse中,您的应用程序

运行方式右击 - >运行配置 - >选择下引导条目从型过滤器文本框中

然后在类路径您的服务器添加classes12.jar文件并点击应用
现在,运行该文件......这对我有效!

+0

您的解决方案适用于我。谢谢:) – santobedi 2018-02-01 01:38:45

+0

很高兴听到这个,谢谢:) – 2018-02-01 06:10:03

0

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

2.选择“RUN AS”。

3.Select “RUN CONFIGURATIOS ......”。

4.Here选择在页面左侧的服务器,然后ü将看到riht侧“类路径”选项卡,单击它即可。

的“用户条目”

5.Here clilck并选择“添加外部JAR”。

6.Select “ojdbc14.jar的” 文件。

7.单击应用。

8.单击运行。

9.最后重新启动您的服务器,然后它将被执行。

-1

您可以添加其中,具有上述指定类中的任何JAR存在像ojdbc14,ojdbc7,ojdbc6但要确保你已经添加入类路径中。

相关问题