私はクエリパラメータを読み込むWebアプリケーションを持っています。このパラメータを使用して、outside-app-sourceからデータを取得します。 Webアプリケーションはシンプルなサーブレットです。JavaEE CDI注入 - HttpServletRequest/Responseを挿入できません
@WebServlet(name = "SomethingServlet", urlPatterns = {"/"}, loadOnStartup = 0)
public class SomethingServlet extends HttpServlet {
@Inject
InterfaceOfDesire objectOfDesire;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
objectOfDesire.doSomething();
}
}
InterfaceOfDesireは(atm)を一度実装したインターフェイスです。したがって、あいまいさはありません。
public interface InterfaceOfDesire {
void doSomething();
}
public class ClassOfDesire implements InterfaceOfDesire {
@Override
public void doSomething() {
// do something very cool
}
}
そして最後に、ではなく、少なくとも実装クラス(ATMのみ1)の種類を解決するリゾルバがある
public class SomethingResolver {
@Inject
private HttpServletRequest request;
@Inject
private HttpServletResponse response;
@Inject
public SomethingResolver(ServletContext servletContext) {
// do something with the servlet context
}
@Produces
public InterfaceOfDesire getInstance() {
// do something with request and response
// afterwards return object
return new ClassOfDesire();
}
}
今、私はエラーを取得する
WELD-001408: Unsatisfied dependencies for type HttpServletResponse with qualifiers @Default
何午前私は間違っている?
'@ Inject'を' @ Named' +スコープアノテーション( '@ ApplicationScoped'など)で使用しているクラスにマークを付けましたか?' ViewScoped'と 'SessionScoped'は'直列化可能である。 – Milkmaid
どのコンテナに展開していますか?バージョンを含めます。 –