我是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上运行)
如果您的配置有任何不同,那就是导致问题的原因。