0
web.xmlを使わずに、sitebricksで動的なWebモジュールを作成しようとしています。 (注釈のみ。)私は良い例をネットで検索してきましたが、それらのすべてが組み込みのjetty Webサーバーを含む単純なJavaアプリケーションです。サイトブリックとアノテーションを使用して動的なWebモジュールを作成するにはどうすればよいですか?
私はすでにちょうどテストのために、コンテキストリスナーを作成しました:
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.servlet.GuiceServletContextListener;
import com.google.sitebricks.SitebricksModule;
public class AppConfig extends GuiceServletContextListener {
@Override
public Injector getInjector() {
return Guice.createInjector(new SitebricksModule() {
@Override
protected void configureSitebricks() {
at("/api/version").serve(APIVersion.class);
}
});
}
}
APIVersionクラス:
@Service
public class APIVersion {
public class APIVersionResult {
public int major = 1;
public int minor = 0;
}
@Get
Reply<APIVersionResult> get() {
return Reply.with(new APIVersionResult()).as(Json.class);
}
}
は、フィルタを作成しますが、多分私はそれを必要としない。
import com.google.inject.servlet.GuiceFilter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter("/*")
public class AppFilter extends GuiceFilter implements Filter {
public AppFilter() {
super();
}
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {
}
}
プロジェクトにはダイナミックWebモジュールファセットがあります。私はそれをwarファイルにコンパイルすることができます。しかし、私はいつも404エラーを受け取りますhttp://localhost/api/version
私は何が欠けていますか?