泽西式REST API服务在Local -Host tomcat7上工作正常,但是当我尝试在Google Compertute上部署在Tomcat8上时,我什至无法使用Tomcat7,但仍找不到404个资源(仍然找不到404个资源(它在Local -Host tomcat7上正常工作(PLZ帮助我:(
这是我的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" id="WebApp_ID" version="3.0">
<display-name>RestTest</display-name>
<welcome-file-list>
<welcome-file>Hello.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
这是我的休息服务测试类
软件包com.services;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.obj.Resp;
@Path("/say")
public class Test {
@Path("/hello")
@GET
@Produces({MediaType.APPLICATION_JSON})
public static Resp name() {
Resp res=new Resp();
res.setName("name");
res.setPass("pass");
System.out.println("Testing");
return res;
}
@GET
@Produces({ MediaType.TEXT_HTML, MediaType.TEXT_PLAIN })
public static String defaul() {
return "Hello Rest Api";
}
}
上下文路径可能是问题。本地入口点看起来像http://localhost:8888/rest/yourentry
通过您的配置
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
尝试将其更改为:
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>rest/*</url-pattern>
</servlet-mapping>
希望它可以解决您的问题