2016-04-27 7 views
2

サンプルプロジェクトを作成し、RESTful WebサービスでEJB 3.1を使用しました。サンプルでは、​​私はApplicationを拡張するクラスを持っています。クラスはサーブレットのように動作し、要求を適切なクラスにディスパッチしますが、そうではないと思います。 web.xmlを使用すると、サンプルプロジェクトが正常に動作します。私のサンプルプロジェクトで何が問題になっていますか?web.xmlのないRESTfulアプリケーション

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

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

私は、Webサービスを公開するEJBセッションBeanとしてUserWSを使用します。

@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); 
    } 
} 
+0

RESTサービスを呼び出そうとしているときに、* web.xml *の内容は何ですか? – aribeiro

+0

<!DOCTYPE web-app PUBLIC " - // Sun Microsystems、Inc.//DTD Webアプリケーション2.3 // JP" "http://java.sun.com/dtd/web-app_2_3.dtd"> Archetype Created Webアプリケーション helen66

+0

非常にシンプルなweb.xml * :) RESTサービスはどのように起動していますか? – aribeiro

答えて

4

私は、JBoss 5.0のみサーブレット2.5をサポートしていたら、それはできません怖いです。詳細については、hereを参照してください。

web.xmlデプロイメント記述子を避けるには、少なくともサーブレット3.0をサポートするサーブレットコンテナが必要です。サーブレット3.0


だから、あなたはそれを解決するために何ができますか?

これらは私の心に来たオプションは次のとおりです。あなたがhereを説明するようにJBossのWeb(JBoss ASでが使用するTomcatのフォークを)アップグレードしてみてください、しかしあなた自身のリスクでそれを試すことができ

  1. 最近のバージョンのJBoss/WildFlyの使用を検討してください。

+0

ありがとう!私はアプリケーションサーバーを変更し、WildFly 10とJDK 1.8にアップデートしました。私のサンプルプロジェクトはweb.xmlなしでうまくいきます! – helen66

+0

@ helen66私の答えを受け入れることを検討してください:) –

関連する問題