2017-08-14 66 views
0

我想要澄清一下如何在servlet上部署一个restful service启动。目前我正在使用包含resteasy的JBOSS AS7.1.1。下面我的web.xml就像jboss上的安静服务as7.1.1启动

<servlet> 
    <servlet-name>RESTEasy</servlet-name> 
    <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>RESTEasy</servlet-name> 
    <url-pattern>/api/*</url-pattern> 
    </servlet-mapping> 

这将是巨大的,知道使用上面的代码时,JBoss的服务启动。

感谢, 阿什利

回答

2

最终你甚至不需要在web.xml了,你肯定不需要上述配置。获得JAX-RS会唯一需要的文件是一样的东西:

RestApplication.java

import javax.ws.rs.ApplicationPath; 
import javax.ws.rs.core.Application; 

/** 
* Used to bootstrap JAX-RS. Otherwise this class is 
* not directly used. 
* 
*/ 
@ApplicationPath("/api") 
public class RestApplicationConfig extends Application { 
    // intentionally empty 
} 

之后,您将创建您的服务:

HelloWorld.java

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

@Path("/hello") 
public class HelloWorld { 

    @Produces({MediaType.TEXT_PLAIN}) 
    @GET 
    public Response getHeartBeat() { 
     return Response.ok("Hi There").build(); 
    } 
} 

此服务然后可以调用类似于http://localhost:8080/app-name/api/hello的地方,其中app-name是您的Web应用程序的名称(假设它是没有部署到/)。