[英]Servlet in eclipse+tomcat dont works [Error 404]
我正在尝试使用Eclipse和Tomcat开发简单的API servlet。 当我访问链接http:// localhost:8080 / MosheAPI_Project / rest / hello时,出现错误404。
这是我的servlet代码和web.xml:*** MyCode
package MyPackage;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.servlet.annotation.WebServlet;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@Path("/hello")
@WebServlet("/hello")
public class HelloWorld {
@GET
@Produces(MediaType.TEXT_XML)
public String sayHelloXML() {
String resource="<? xml version='1.0' ?> "+
"<hello> Hi Moshe </hello>";
return resource;
}
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHelloHTML() {
String resource="<h1>SFGSFG</h1>";
return resource;
}
}
**** 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" 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>MosheAPI_Project</display-name>
<servlet>
<servlet-name>MosheAPI_Project</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer.class</servlet-class>
<!-- <servlet-class>HelloWorld</servlet-class> -->
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>test</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MosheAPI_Project</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
您正在使用两种映射为同一个servlet,但你可以在阅读此文章,您可以使用访问你的servlet 的http://本地主机:8080 / MosheAPI_Project /招呼 ,但如果你没有添加@WebServlet到你的servlet,那么你可以像现在一样访问它。
顺便说一句,您没有在servlet中扩展HttpServlet,这毕竟并没有使其成为servlet。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.