jersey rest api服务在localhost tomcat7上运行正常,但是当我尝试在谷歌计算引擎上的tomcat8上部署时,它甚至无法运行,我什至也尝试了tomcat7,但仍然找不到404资源(在localhost tomcat7上运行良好)请帮助我: (

这是我的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>


希望它能解决您的问题

关于tomcat - Jersey 剩余API在计算引擎tomcat 7上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48926589/

10-09 16:52