我想將會話Bean注入到我的ServletFilter中,這似乎不起作用。你能告訴我如何做到這一點?Java EE 5/Servlet 2.5將EJB注入ServletFilter
public class MyExample implements Filter {
@EJB
private MyBean someEjb;
@Override
public void destroy() {
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain) throws IOException, ServletException{
someEjb.toString();
}
}
由於myEjb爲null,導致NullPointerException。使用的平臺是JBoss 5.1 MyBean可以從其他EJB或Servlet正確訪問。
謝謝。
問題就解決了(雖然我不知道爲什麼):
應用程序由三個神器: - 包含EJB的 罈子 - 包含servlet的 一戰 - 同時包含上述的耳朵
如果我把過濾器封裝在罐子裏,就會出現問題。如果我將它與servlet一起打包在戰爭中,則不會發生此問題。
所以,立即解決問題,但不明白。
也許有人可以幫助我理解?
嗨,謝謝你的回答。不幸的是,他們都在同一個耳朵。 –
@FabianFörster:嘗試使用'@EJB(beanName =「MyBeanImpl」)'。 –
@FabianFörster:當然,'Filter'是一種'Servlet',因此被稱爲'Servlet Filter'。 「Servlet」和「Filter」都是Web組件,因此它屬於Web檔案,「.war」,而不是Java檔案,「.jar」。 –