我是Java初学者,正在尝试使我的第一个示例工作。

我已经安装了Tomcat6.0,并在Windows上使用Eclipse。

我已将HelloWorld文件夹放在webapps中。在WEB-INF中放置了classes文件夹,并放置了web.xml

当我将其放置为URL时:http://localhost:8080/HelloWorld/HelloWorld

我收到以下错误:


  HTTP状态404:请求的资源()不可用。


当我尝试http://localhost:8080时,它工作正常,可以访问Tomcat的主页,我可以从那里执行示例。

我的web.xml是:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- <!DOCTYPE web-app
 PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd"> -->

<web-app>
    <servlet>
        <servlet-name>Hello</servlet-name>
        <servlet-class>HelloWorld</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Hello</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>
</web-app>


我的HelloWorld.java是:

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

public class HelloWorld extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException,IOException {

        response.setContentType("text/html");

        PrintWriter pw = response.getWriter();
        pw.println("<html>");
        pw.println("<head><title>Hello World</title></title>");
        pw.println("<body>");
        pw.println("<h1>Hello World</h1>");
        pw.println("</body></html>");
    }
}


请帮忙。我从两天开始就一直坚持下去。
编辑:
解决了问题。谢谢。我在web.xml中添加了HelloWorld,它可以正常工作。谢谢您的帮助。

最佳答案

为此,您需要具备以下条件:

1)在$CATALINA_HOME/webapps目录中创建一个文件夹HellowWorld

2)在HellowWorld目录中创建一个名为WEB-INF的文件夹,并将其完全按照您给我们的名称放置在web.xml中。

3)将HellowWorld.class(不是.java)放在WEB-INF/classes内(完全是您给我们的)

4)然后启动侦听端口8080的tomcat服务器(最好是全新安装)。

5)调用http://localhost:8080/HelloWorld/HelloWorld(直接从浏览器的网址或带有action=get的表单中)

6)现在应该可以正常工作了(可以在我的tomcat7上运行)

如果您的配置有任何不同,那就是导致问题的原因。

10-08 09:11
查看更多