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