Tomcat 无法运行hello world servlet

Tomcat 无法运行hello world servlet,tomcat,servlets,Tomcat,Servlets,我正在我的ubuntu PC中尝试以下servlet示例: 下面是Tomcat下的目录结构 Java类: package com.mkyong; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import jav

我正在我的ubuntu PC中尝试以下servlet示例:

下面是Tomcat下的目录结构

Java类:

   package com.mkyong;

    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class ServletDemo1 extends HttpServlet{

        public void doGe(HttpServletRequest request, HttpServletResponse response)
        throws IOException{
                PrintWriter out = response.getWriter();
                out.println("<html>");
                out.println("<body>");
                out.println("<h1>Hello Servlet Get</h1>");
                out.println("</body>");
                out.println("</html>");
        }
    }
package com.mkyong;
导入java.io.IOException;
导入java.io.PrintWriter;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
公共类ServletDemo1扩展了HttpServlet{
public void doGe(HttpServletRequest请求、HttpServletResponse响应)
抛出IOException{
PrintWriter out=response.getWriter();
out.println(“”);
out.println(“”);
println(“Hello Servlet Get”);
out.println(“”);
out.println(“”);
}
}
web.xml:

 <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 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">

        <servlet>
                <servlet-name>servlet</servlet-name>
                <servlet-class>com.mkyong.ServletDemo1</servlet-class>
        </servlet>

        <servlet-mapping>
                <servlet-name>servlet</servlet-name>
                <url-pattern>/Demo1</url-pattern>
        </servlet-mapping>
</web-app>

servlet
com.mkyong.ServletDemo1
servlet
/演示1
Tomcat服务器启动,因为我可以看到
http://localhost:8080

为了运行servlet,我使用了URL
http://localhost:8080/servlet/Demo1

但得到的错误是“HTTP状态404-/servlet/Demo1”

Tomcat版本:ApacheTomcat/7.0.52(Ubuntu)

可能遗漏了什么?
谢谢。

HttpServlet的方法是
doGet(HttpServletRequest-req,httpservletresp)
而不是
doGe()
。这可能是个错误..检查
web.xml
中的
servlet名称
url模式

我认为
servlet名称
应该是
ServletDemo1

我使用以下命令捕获了tomcat日志

# tail -f /var/log/tomcat7/catalina.out
在此之后,我知道web应用程序部署目录是/var/lib/tomcat7/webapps/not/usr/share/tomcat7/webapps/

已将目录结构移动到新位置

正如@silk_route11所建议的,方法名doGet()中有一个错误。 未在
中进行任何更改

现在,可以在浏览器上查看输出。
谢谢。

您还应该查看Tomcat管理页面,以了解应用程序是否已正确启动。

您是否按照他的教程中所述完成了所有操作?没有一个错误?检查
web.xml