jersey2给出了404回应

时间:2017-12-15 01:10:38

标签: rest web-services spring-mvc tomcat7 jersey-2.0

我正在尝试开发一个基本的RESTFULL应用程序,我找到了一些教程,但我不知道发生了什么,因为一切看起来都正确。我正在使用maven tomcat插件启动应用程序(如果它有帮助)。

这是web.xml和控制器。

    <servlet>
    <servlet-name>jersey-serlvet</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
         <param-name>jersey.config.server.provider.packages</param-name>
         <param-value>
            com.servicios.ws.controller
         </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>jersey-serlvet</servlet-name>
    <url-pattern>/ws/*</url-pattern>
</servlet-mapping>

和控制器

@Path("/ws/test")
public class UsuarioController {
    @GET
    @Path("/login")
    public final String findUsuarioById() {

        return "TEST OK";
    }
}

最后,这里有pom版本

<plugin>
                        <groupId>org.apache.tomcat.maven</groupId>
                        <artifactId>tomcat7-maven-plugin</artifactId>
                        <version>2.2</version>

                </plugin>

<dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
            <version>2.25</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-json-jackson</artifactId>
            <version>2.25</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.ext</groupId>
            <artifactId>jersey-spring3</artifactId>
            <version>2.25</version>
        </dependency>

它应该可以工作,但是当我尝试访问/ ws / test / login时,我会得到404.

提前致谢

1 个答案:

答案 0 :(得分:0)

@Path("/ws/test")更改为@Path("/test")

中的ws
<url-pattern>/ws/*</url-pattern>

获得前置,因此在当前状态下,您需要访问/ws/ws/test/login