Java 尝试访问数据库时实例化servlet类时出错

Java 尝试访问数据库时实例化servlet类时出错,java,servlets,jdbc,ojdbc,Java,Servlets,Jdbc,Ojdbc,我刚刚进入servlet,无法在tomcat上显示信息。 这是我用多吉特法上的课 public class WhoisOlder extends HttpServlet { private static final long serialVersionUID = 1L; public WhoisOlder() { super(); } public void doGet(HttpServletRequest request, HttpServletResponse response)

我刚刚进入servlet,无法在tomcat上显示信息。 这是我用多吉特法上的课

public class WhoisOlder extends HttpServlet {
private static final long serialVersionUID = 1L;

public WhoisOlder() {
    super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    final String OJDBC_Driver = "oracle.jdbc.driver.OracleDriver";
    final String DB_URL = "";
    final String USER = "";
    final String PASS = "";

    try {
        Class.forName(OJDBC_Driver);
        Connection con = DriverManager.getConnection(DB_URL, USER, PASS);

        Statement stmt = con.createStatement();

        ResultSet rs = stmt.executeQuery("SELECT GEBDAT FROM KLASSE");

        while (rs.next()) {
            System.out.println(rs.getString("GEBDAT"));
        }
        rs.close();
        stmt.close();
        con.close();
    } catch (SQLException se) {

        System.out.println("SQL Exception: " + se.getMessage());
        se.printStackTrace(System.out);
    } catch (ClassNotFoundException e) {

        e.printStackTrace();
    }

}
当我在浏览器上运行代码时,会出现“错误实例化servlet类”错误。我已经检查了servlet名称servlet URL是否正确。我的类中的代码是否为false,这会阻止实例化该类吗

编辑:下面是异常和根日志

java.lang.ClassNotFoundException: WhoisOlder
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
编辑2:myweb.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<description>OJDBCAnbindung</description>
<display-name>OJDBCAnbindung</display-name>
<servlet>
<servlet-name>WhoisOlder</servlet-name>
<servlet-class>WhoisOlder</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WhoisOlder</servlet-name>
<url-pattern>/WhoisOlder</url-pattern>
</servlet-mapping>
</web-app>

OJDBCAnbindung
OJDBCAnbindung
全套
全套
全套
/全套

将servlet放在一个包中,将.class文件编译到WEB-INF/classes文件夹中。更改web.xml以将包名添加到servlet的类文件中。

它显示
java.lang.ClassNotFoundException:whoilder
。你的web.xml是什么样子的?你的文件名和你的类名相同吗,即
whoilder.java
?它在您的类路径上吗?既然您没有指定包名,您的
whoilder.java
文件是否就在
src
文件夹的正下方?您是指按文件名列出的项目名称吗?我的项目名称是OJDBCAnbindung。它在我的类路径上,我有一个默认包,它在src下。我假设您有一个
.war
文件部署到tomcat,对吗?尝试从命令行运行
jar tf.war
,查看包含servlet的
.class
文件是否存在。据推测,该文件将命名为
whoilder.class
。此外,我应该提到,我假设您的servlet代码可以编译?我没有看到任何
import
语句,比如
importjavax.servlet.*
导入javax.servlet.http.*靠近代码顶部。。。