2010-04-05 92 views
0
package mypackage; 

import java.io.*; 

import javax.servlet.http.*; 
import javax.servlet.*; 

public class Hello extends HttpServlet { 
    public void doGet (HttpServletRequest req, 
        HttpServletResponse res) 
    throws ServletException, IOException 
    { 
    PrintWriter out = res.getWriter(); 

    out.println("Hello, world!"); 
    out.close(); 
    } 
} 

web.xml文件如下:基本Tomcat的Servlet的错误

<?xml version="1.0" encoding="ISO-8859-1"?> 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
    version="2.4"> 

    <display-name>Hello, World Application</display-name> 
    <description> 
    This is a simple web application with a source code organization 
    based on the recommendations of the Application Developer's Guide. 
    </description> 

    <servlet> 
     <servlet-name>HelloServlet</servlet-name> 
     <servlet-class>mypackage.Hello</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>HelloServlet</servlet-name> 
     <url-pattern>/hello</url-pattern> 
    </servlet-mapping> 

</web-app> 

我然后做所有的蚂蚁,蚂蚁重装也/etc/init.d/tomcat重启

但我得到这个错误的浏览器:

HTTP状态404 - /你好/

类型状态报告

留言/你好/

description请求的资源(/ hello /)不可用。 Apache Tomcat/6.0.26

什么可能是错的?

+1

听起来像是你的web应用程序不部署到tomcat的。你的tomcat是否安装了经理servlet?这可以帮助。另外,将servlet映射中的url模式更改为“/ *”。 – John 2010-04-05 01:26:12

+0

我改变了我的web.xml,做了所有的蚂蚁,然后蚂蚁重新加载。仍然我的web.xml没有被复制到tomcat webapps/hello/WEB-INF文件夹。为什么? – user855 2010-04-05 02:15:51

回答

0

我觉得目录结构有问题。 Usally你做下面的目录结构

webapps 
    MyWebApp1 
    MyWebApp2 

如果您的应用程序复制到MyWebApp1文件夹中,然后调用localhost/MyWebApp1/hello

所以该目录将成为

webapps 
    +MyWebApp1 
    test.jsp 
    WEB-INF 
     web.xml 
     +classes 
     +mypackage 
      hello.class 
    +MyWebApp2 
+0

看看OP的最新评论。他说他有一个'webapps/hello/WEB-INF'文件夹。现在仔细查看404错误消息... :)是的,它更可能只是请求URL错误,而不是项目结构。 – BalusC 2013-09-04 19:22:24

+0

根据他的目录结构,他必须调用'localhost/hello/hello'一个hello用于目录名称和一个heloo用于servlet映射。他只是调用localhost/hello tomcat搜索welcomefile没有找到任何欢迎文件并生成错误。 – 2013-09-04 19:30:27