Jersey Rest API不用在计算引擎上工作Tomcat 7



泽西式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>

希望它可以解决您的问题

最新更新