【问题标题】:Compilation error - Tomcat, jsp编译错误 - Tomcat、jsp
【发布时间】:2011-10-17 21:34:41
【问题描述】:

全部,

我刚刚安装了 apache tomcat 并测试了安装确实显示了“成功安装”的 apache 页面。我确实执行了 HelloWorld 示例,没有任何问题。所以现在,我在\apache-tomcat-XXX\webapps\mine 下创建了自己的 Web 应用程序,其中包含以下 2 个子文件夹:

\apache-tomcat-XXX\webapps\mine\classes
\apache-tomcat-XXX\webapps\mine\lib

我创建了一个新的类文件HelloWorldAgain.java,内容如下:

import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

/**
 * My test servlet
 *
 * @author Liz Warner
 */

public class Hi extends HttpServlet {

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hola</title>");
        out.println("</head>");
        out.println("<body bgcolor=\"white\">");
        out.println("<h1> Hi </h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

但是,当我从命令行编译代码时,出现与

相关的错误
> Hi.java:4: package javax.servlet does not exist
import javax.servlet.*;
^
Hi.java:5: package javax.servlet.http does not exist
import javax.servlet.http.*;
^
Hi.java:13: cannot find symbol
symbol: class HttpServlet
public class Hi extends HttpServlet {
                        ^
Hi.java:15: cannot find symbol
symbol  : class HttpServletRequest
location: class Hi
    public void doGet(HttpServletRequest request,
                      ^
Hi.java:16: cannot find symbol
symbol  : class HttpServletResponse
location: class Hi
                      HttpServletResponse response)
                      ^
Hi.java:17: cannot find symbol
symbol  : class ServletException
location: class Hi
        throws IOException, ServletException

我设置了以下环境(Windows XP 环境)变量:

JAVA_HOME: C:\Program Files\Java\jdk1.6.0_21 CATALINA_HOME: C:\Apache Tomcat\apache-tomcat-7.0.22

【问题讨论】:

  • 要开始使用 Java-ee,我强烈建议您使用最新的 Netbeans 7.0 EE 版本,因为它与 Glassfish 服务器捆绑在一起。 Youtube 上有一些关于入门的官方视频。

标签: jakarta-ee tomcat compilation javac


【解决方案1】:

您的 Java 类使用不属于 Java SE 的其他 Java 类(“普通”或“桌面”Java)——例如,javax.servlet 中的 Java EE 类。所以,编译器不知道它们,除非你告诉它在哪里寻找这些类。你需要找到类似javaee.jarservlet.jar 的东西——Tomcat 应该将它们包含在它的libs/ 目录中,尽管我忘记了它们到底叫什么。

然后您将它们添加到您的编译命令中,例如 javac -cp path/to/javaee.jar ...。

这实际上与 Tomcat 或 J2EE 无关,它只是基本的 Java 编译。

【讨论】:

    猜你喜欢
    • 2014-12-28
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 2012-10-22
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多