【问题标题】:Servlet Compiling errorServlet 编译错误
【发布时间】:2011-08-26 21:49:31
【问题描述】:

我使用 Apache Tomcat 6 开发了简单的 servlet。

首先我编写了简单的 Hello World 打印 servlet。然后设置servlet-api.jar的CLASSPATH,编译复制webapps/login/WEB-INF/classes/test/HelloServlet.class。效果很好。

在我在 servlet 中编写简单的 JDBC 连接之后。我下载了 MySQL J-Connector 并像这样设置 CLASSPATH:

C:\Program Files\apache-tomcat-6.0.32\lib\servlet-api.jar;C:\Program Files\apache-tomcat-6.0.32\lib\mysql-connector-java-5.1.16-bin.jar

然后尝试编译;然后它会显示以下消息:

"Unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown"

我该如何解决?

【问题讨论】:

  • 顺便说一句:JDBC 驱动程序不需要在编译时类路径中。您没有在代码中导入任何行,您只是在String 中有驱动程序名称,对吗?它只需要在运行时类路径中。

标签: java servlets compilation


【解决方案1】:

将您的Class.forName() 保留在 try catch 块下,并且类路径应以 (.;) 结尾,检查一次。

【讨论】:

    【解决方案2】:

    java.lang.ClassNotFoundException 是一个检查异常。这意味着您需要处理它,或者通过将可能引发此异常的调用放在 try { ... } catch (ClassNotFoundException e) { ... } 块中,或者通过在调用方法的方法声明中添加 throws 子句可能抛出此异常的方法。

    在 Oracle 的 Java 教程中的 The Catch or Specify Requirement 中阅读有关处理检查异常的更多信息。

    【讨论】:

      猜你喜欢
      • 2012-01-10
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多