Java 在TomcatEclipse上部署简单的Servlet

Java 在TomcatEclipse上部署简单的Servlet,java,servlets,Java,Servlets,我遵循的是先发制人的Java 我按照他们的指示创建了一个简单的servlet,但他们没有编写如何部署它 我正试图在Tomcat7上部署它,我已经通过eclipse进行了设置 然而,我得到一个404页错误 我创建了一个web.xml,并将类文件放在web-INF/classes中 这是代码 package org.code; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class

我遵循的是先发制人的Java

我按照他们的指示创建了一个简单的servlet,但他们没有编写如何部署它

我正试图在Tomcat7上部署它,我已经通过eclipse进行了设置

然而,我得到一个404页错误

我创建了一个web.xml,并将类文件放在web-INF/classes中

这是代码

package org.code;

import java.io.*;

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

public class KathyServlet extends HttpServlet { 

public void doGet (HttpServletRequest request, HttpServletResponse response) throws  ServletException, IOException  {
 PrintWriter out;
 String title = "PhraseOMatic has generated the following phrase.";
     response.setContentType("text/html");
 out = response.getWriter();

    out.println("<HTML><HEAD><TITLE>");
out.println("PhraseOmatic");
out.println("</TITLE></HEAD><BODY>");
out.println("<H1>" + title + "</H1>");
out.println("<P>" + PhraseOMatic2.makePhrase());
    out.println("<P><a href=\"KathyServlet\">make another phrase</a></p>");
out.println("</BODY></HTML>");

out.close();
}
}

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>HFJse</display-name>
<servlet>
<servlet-name>kathyServlet</servlet-name>
<servlet-class>org.yasin.KathyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>KathyServlet</servlet-name>
<url-pattern>/snoop/*</url-pattern>
</servlet-mapping>
</web-app>

HFJse
凯瑟夫莱特
org.yasin.KathyServlet
凯瑟夫莱特
/窥探/*

我们的servlet计算在包
org.code
中,但是您在web.xml中设置的类名是
org.yasin.KathyServlet


此外,您在web.xml中为servlet提供了名称
kathyServlet
,但是您的映射使用名称
kathyServlet
。Servlet名称区分大小写。

我们的Servlet计算在包
org.code
中,但您在web.xml中设置的类名是
org.yasin.KathyServlet


此外,您在web.xml中为servlet提供了名称
kathyServlet
,但是您的映射使用名称
kathyServlet
。Servlet名称区分大小写。

如果代码正确,那么web.xml就是错误的。您正在使用以下内容定义servlet类:

org.yasin.KathyServlet

您的Servlet是:

org.code.KathyServlet

您在web.xml中使用的Servlet需要指向正确的包和Sevlet名称


您应该会在tomcat日志中看到一个与404错误相关的ClassNotFound。

如果该代码是正确的,那么web.xml就是错误的。您正在使用以下内容定义servlet类:

org.yasin.KathyServlet

您的Servlet是:

org.code.KathyServlet

您在web.xml中使用的Servlet需要指向正确的包和Sevlet名称


您应该会在tomcat日志中看到一个与404错误相关的ClassNotFound。

很抱歉,我粘贴了错误的xml,我将xml更改为正确的包名,但它仍然给出了相同的错误,但我没有注意到小写的kathy,一旦我更改,它工作正常。很抱歉,我粘贴了错误的xml,我将xml更改为正确的包名,但它仍然给出了相同的错误,但我没有注意到小写的kathy,一旦我更改,它就工作得很好。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>HFJse</display-name>
<servlet>
<servlet-name>kathyServlet</servlet-name>
<servlet-class>org.yasin.KathyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>KathyServlet</servlet-name>
<url-pattern>/snoop/*</url-pattern>
</servlet-mapping>
</web-app>