部署在JBoss7.1上的Restful服务总是返回404
我在JBoss7.1上部署RESTful web应用程序(JAX-RS)时遇到问题 这是web.xml部署在JBoss7.1上的Restful服务总是返回404,jboss,jax-rs,resteasy,Jboss,Jax Rs,Resteasy,我在JBoss7.1上部署RESTful web应用程序(JAX-RS)时遇到问题 这是web.xml 赫德斯 放松 org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher 放松 /* javax.ws.rs.Application it.heod.ws.WSApplication org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap 而实现web服务的
赫德斯
放松
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
放松
/*
javax.ws.rs.Application
it.heod.ws.WSApplication
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
而实现web服务的类是:
@Path(“/”)
公共类登录服务{
公共登录服务(){
}
@得到
@路径(“helloworld”)
@生成(MediaType.TEXT\u PLAIN)
公共响应helloWorld(){
Utils Utils=Utils.getInstance();
utils.logExecutingMethod();
ResponseBuilder ResponseBuilder=null;
响应=空;
responseBuilder=Response.ok();
实体(“你好,世界!”);
response=utils.completerensponse(responseBuilder);
返回(响应);
}
}
该类应用程序是:
公共类WSApplication扩展应用程序{
private Set singleton=new HashSet();
私有集>();
公共应用程序(){
add(newloginservice());
}
@凌驾
public SetJBoss AS 7.1为您提供了Java EE 6支持,因此您不需要使用RESTEasy提供的servlet dispatcher(仅当您部署在Tomcat或Jetty上时才需要)
然后,您可以从web.xml中删除内容,并以纯Java形式声明JAX-RS激活器,如下所示:
@ApplicationPath("/")
public class WSApplication extends Application {
private Set<Object> singletons = new HashSet<Object>();
private Set<Class<?>> empty = new HashSet<Class<?>>();
public WSApplication(){
singletons.add(new LoginService());
}
@Override
public Set<Class<?>> getClasses() {
return empty;
}
@Override
public Set<Object> getSingletons() {
return singletons;
}
}
@ApplicationPath(“/”)
公共类WSApplication扩展了应用程序{
private Set singleton=new HashSet();
私有集>();
公共应用程序(){
add(newloginservice());
}
@凌驾
public Set我实际上不知道发生了什么,但是通过在一个新项目中复制和粘贴所有的类和web.xml并进行部署,它成功了。我想是Eclipse疯了。谢谢大家的回答。你必须在helloworld后面加一个斜杠。我不知道,@xavier coulon。非常感谢
http://anotherhost:8080/HEODWS/helloworld
@ApplicationPath("/")
public class WSApplication extends Application {
private Set<Object> singletons = new HashSet<Object>();
private Set<Class<?>> empty = new HashSet<Class<?>>();
public WSApplication(){
singletons.add(new LoginService());
}
@Override
public Set<Class<?>> getClasses() {
return empty;
}
@Override
public Set<Object> getSingletons() {
return singletons;
}
}