【问题标题】:Tomcat, The requested resource is not availableTomcat,请求的资源不可用
【发布时间】:2017-01-23 05:44:21
【问题描述】:

我在使用 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”作为战争文件导出到“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,请求的资源不可用。

【问题讨论】:

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


    【解决方案1】:

    你应该列出你的资源类所在的包

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

    我不知道jersey 是什么,但从你的帖子来看,监听器在com.listner 包中。如果有其他包,可以用逗号或分号隔开

    【讨论】:

    • 谢谢。我不知道,但我忘了正确设置参数值包名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多