这是我的错误代码。我的classes12.jar
已被导入为外部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();
}
}
}
堆栈跟踪:
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 :(得分:9)
Class.forName("oracle.jdbc.driver.OracleDriver");
这一行会导致ClassNotFoundException
,因为您没有将ojdbc14.jar
文件放在项目的lib文件夹中。或者你还没有设置所需jar的classpath
答案 1 :(得分:6)
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
只需将 ojdbc14.jar 添加到您的类路径中。
以下是在eclipse中添加ojdbc14.jar的步骤:
1)在项目内
2)图书馆
3)右键单击JRE系统库
4)构建路径
5)选择配置构建路径
6)点击Add external JARs ...
7)C:\ oraclexe \ app \ oracle \ product \ 10.2.0 \ server \ jdbc \ lib
8)在这里你会得到ojdbc14.jar
9)选择此处
10)打开
11)好的
保存并运行您将获得输出的程序。
答案 2 :(得分:3)
在Eclipse中,右键单击您的应用程序
运行方式 - >运行配置 - > 从类型过滤器文本框
中选择您的服务器然后在 Bootstrap条目下的Classpath中添加 classes12.jar文件,然后点击应用。
现在,运行文件......这对我有用!!
答案 3 :(得分:0)
尝试通过服务器lib添加ojdbc6.jar或其他版本" C:\ apache-tomcat-7.0.47 \ lib",
然后在eclipse中重启服务器。
答案 4 :(得分:0)
方法1:下载ojdbc.jar
将ojdbc6.jar添加到部署程序集。右键单击project-> properties->选择部署程序集 - >单击'添加' - >选择'从文件系统存档' - >浏览到保存ojdbc6.jar的文件夹.-> add 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(直接添加到部署程序集)也可以正常工作。
答案 5 :(得分:0)
1.右键单击您的java项目。
2.选择" RUN AS"。
3.选择" RUN CONFIGURATIOS ..."。
4.在页面左侧选择你的服务器然后你会看到" CLASS PATH"在riht侧的标签,只需点击它。
5.Hell on on" USER ENTRIES"并选择"添加外部JARS"。
6.选择" ojdbc14.jar"文件。
7.点击“应用”。
8.点击Run。
9.最后重新启动服务器,然后执行。
答案 6 :(得分:0)
在Eclipse中,
当您在servlet中使用JDBC时,驱动程序jar必须放置在项目的WEB-INF / lib目录中。
答案 7 :(得分:-1)
您可以添加任何具有上述指定类的JAR,如ojdbc14,ojdbc7,ojdbc6,但请确保已将其添加到类路径中。