Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的RESTful Web服务不起作用_Java_Eclipse_Web Services_Rest_Tomcat - Fatal编程技术网

Java 我的RESTful Web服务不起作用

Java 我的RESTful Web服务不起作用,java,eclipse,web-services,rest,tomcat,Java,Eclipse,Web Services,Rest,Tomcat,我将为我的应用程序项目创建webservice。但首先我需要知道它是否工作,所以我应用了基本的webservice。但是 当我运行它时,我会得到HTTP404错误页面 这是我在webservice上所做的 服务器=Tomcat 8 动态项目名称=项目名称为MovieWebService WEB-INF/lib=已上载所有文件 将包和java类构建到src文件中,然后设置xml文件 这些是我的基本准则。我想看看tomcat上的hello word什么是我的错,有人能帮我吗?顺便说一句,对不起我

我将为我的应用程序项目创建webservice。但首先我需要知道它是否工作,所以我应用了基本的webservice。但是

当我运行它时,我会得到HTTP404错误页面

这是我在webservice上所做的

  • 服务器=Tomcat 8
  • 动态项目名称=项目名称为MovieWebService
  • WEB-INF/lib=已上载所有文件
  • 将包和java类构建到src文件中,然后设置xml文件
这些是我的基本准则。我想看看tomcat上的hello word什么是我的错,有人能帮我吗?顺便说一句,对不起我的语言。 我一直遵循这个步骤,直到清单3

我的

web xml文件=
看起来你只是走错了路。当转到localhost:8080时,您是否看到默认的Tomcat页面?我认为您的rest端点应该位于

另外,JavaCodeGeeks的这篇教程应该解释您试图做得很好的所有事情。试着一步一步地去做:


您必须配置servlet映射,这里将其更改为您的代码

<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
    <servlet-name>Yourservletname</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.yourpackage.yourclass</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Yourservletname</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
 </web-app>

Web应用程序创建的原型
你的服务器名
org.glassfish.jersey.servlet.ServletContainer
jersey.config.server.provider.packages
com.yourpackage.yourclass
1.
你的服务器名
/*

您尝试过吗?404通常表示您尝试访问(服务器的)不存在的远程资源。您将url模式定义为
/rest/*
,将GET资源定义为
/hello
,因此
localhost:8080/appname/rest/hello
应该是正确的路径。您也可以使用tomcat管理器访问应用程序您的代码正常,但您正在访问不同的url。尝试使用您提供的链接(http://:///rest/hello)中提到的
package sample.movie.webservices;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

    @Path("/hello")
    public class movieWebService { 
     @GET 
     @Produces(MediaType.TEXT_PLAIN) 
     public String sayHello() { 
      return "Hello Jersey"; 
     }
    }
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
    <servlet-name>Yourservletname</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.yourpackage.yourclass</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Yourservletname</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
 </web-app>