2011-10-17 88 views
0

全部,编译错误 - Tomcat,jsp

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

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

我创建了一个新的类文件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 

我已经设置了以下environement(Windows XP中ENV)变量:

JAVA_HOME:C:\ Program Files文件\的Java \ jdk1.6.0_21 CATALINA_HOME:C:\的Apache Tomcat \ Apache的Tomcat的7.0。 22

+0

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

回答

2

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

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

这实际上并没有特定于Tomcat或J2EE,它只是基本的Java编译。