Tomcat,请求的资源不可用

时间:2016-09-15 09:03:00

标签: rest tomcat jersey http-status-code-404

我在tomcat遇到了一些麻烦。 我有Jersey / Tomcat的简单REST服务。 但我的Get-Ressource无法找到,也可能发布。

我的代码:

@Path("/NothificationListner")
public class NothificationListner {


    @GET
    @Consumes(MediaType.TEXT_PLAIN)
    public String pojo() {
        logger.info("[GET] REQUEST RECEIVED");
        return "[GET] pojo ok @ " + new Date().toString();
    }
}

我的Web.xml

  <servlet>

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

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

我将项目“myProg”导出为war文件到“C:\ apache-tomcat-8.0.37 \ webapps \” Tomcat启动没有错误。 Tomcat创建文件夹“myProg”,其中包含所有内容:

myProg
  --META-INF
     -MANIFEST.MF
     -war-tracker
  --WEB-INF
     --classes/com/listner
       NothificationListner .class
       NothificationListner .java
  --lib
    "containts all libs for application"
    web.xml

当我尝试调用时:localhost:8080 / myProg / NothificationListner 我得到404,请求的资源不可用。

1 个答案:

答案 0 :(得分:1)

您应该列出资源类所在的软件包

<init-param>
    <param-name>jersey.config.server.provider.packages</param-name>
    <param-value>jersey</param-value>
</init-param>

我不知道jersey是什么,但是从您的帖子中,监听器位于com.listner包中。如果您有其他包,可以用逗号或分号分隔它们