java - Tomcat 8 和 Jersey 2.7 返回 404 错误

标签 java tomcat jersey-2.0

我已经尝试了很多建议,但似乎没有一个对我有用。在 tomcat 上部署我的 Jersey 应用程序时,没有发生任何错误。但是当访问任何指定的路径时,它会给我 404 aka 资源不可用。 我会给你我文件的相关部分:

网络.xml

<web-app>
<servlet>
  <servlet-name>o2r</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.mypackage.project.MyClass</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>o2r</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

<session-config>
  <session-timeout>30</session-timeout>
</session-config>
</web-app>

我的类.java

package com.mypackage.project;
... //imports etc
@Path("control")
public class MyClass
{
    @GET
    @Path("{param}")
    public Response getMsg(@PathParam("param") String msg) 
    //this part is from some mykong tutorial
    {
    String output = "Jersey say : " + msg;
    return Response.status(200).entity(output).build();
    }
}

pom.xml

...
<dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-servlet</artifactId>
    <version>2.7</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-catalina</artifactId>
    <version>7.0.16</version>
</dependency>
...

尝试访问时

http://localhost:8080/MyClass/control/lala 

(应该返回“Jersey say : lala”)它只给了我 404。 注意:MyClass 是我的 .WAR 文件的正确名称。

最佳答案

试试这个

com.mypackage.project 而不是 com.mypackage.project.MyClass

关于java - Tomcat 8 和 Jersey 2.7 返回 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23455198/

相关文章:

java - Tuckey - URL 重定向有效但转发无效

unit-testing - 无法模拟 Glassfish Jersey 客户端响应对象

java - 如何将 Guice 与 Jersey JdkHttpServerFactory 一起使用?

java - 如何在 Java 中为通用转换器扩展此设计?

java - 有序的 hibernate 关系

java - 使用 autoSizeColumn 时列在 XSSF Apache POI 中隐藏

java - log4j.xml 加载不记录消息

java - ReSTLet 的 GET POST DELETE 方法路由到同一函数

java - org.glassfish.jersey.internal.util eclipse Maven Webapp 项目中缺少 Base64 类

java - 在java中用空格分割字符串数据