쿼리 매개 변수를 읽는 웹 응용 프로그램이 있습니다. 이 매개 변수를 사용하여 외부 app-source에서 일부 데이터를 가져옵니다.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 한 번 구현 (기압) 인 인터페이스입니다 : 웹 응용 프로그램은 간단한 서블릿이다. 따라서 애매 모호하지 않아야합니다.
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' + scope annotation ('@ ApplicationScoped' 등)을 사용하고 계십니까?'ViewScoped'와'SessionScoped'는' Serializable'입니다. – Milkmaid
어떤 컨테이너에 배포하고 있습니까? 버전을 포함하십시오. –