没有web.xml的RESTful应用程序

时间:2016-04-27 06:03:09

标签: web-services rest ejb-3.1

我创建了一个示例项目,并将EJB 3.1与RESTful Web服务一起使用。在示例中,我有一个扩展Application的类。我希望这个类像servlet一样工作,并向适当的类发送请求,但事实并非如此。当我使用web.xml时,我的示例项目工作正常。我的示例项目出了什么问题?

@ApplicationPath("/rest")
public class ApplicationServlet extends Application {

    @Override
    public Set<Class<?>> getClasses() {
        Set<Class<?>> classes = new HashSet<Class<?>>();
        classes.add(UserWS.class);
        return classes;
    }
}

我使用UserWS作为公开Web服务的EJB会话bean:

@Stateless
@LocalBean
@Path("/user")
public class UserWS {

    private int count;

    public UserWS() {
        this.count=0;
    }

    @GET
    @Path("/name/{username}")
    public void getUserName(@PathParam("username") String username) {
        count++;
        System.out.println("count is:"+ count);
    }
}

1 个答案:

答案 0 :(得分:4)

一旦JBoss 5.0仅支持 Servlet 2.5 ,我担心这是不可能的。有关详细信息,请参阅here

为了避免web.xml部署描述符,您需要一个支持至少 Servlet 3.0 的servlet容器。

那么,你能做些什么来解决它?

这些是出现在我脑海中的选项:

  1. 你可以尝试升级JBoss Web(JBoss AS使用的Tomcat fork),如here所述,但尝试自担风险

  2. 考虑使用最新版本的JBoss / WildFly。