我想将会话 bean 注入到我的 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();
}
}
导致 NullPointerException,因为 myEjb 为空。使用的平台是 JBoss 5.1 MyBean 可以从其他 EJB 或 Servlet 正确访问。
谢谢你。
问题解决(虽然我不知道为什么):
该应用程序由三个工件组成: - 一个包含 EJB 的 jar - 一个包含 servlet 的 war - 一个包含上述两者的 ear
如果我将过滤器打包在 jar 中,就会出现问题。如果我将它与战争中的 servlet 一起打包,则不会出现问题。
所以,直接的问题解决了,但没有被理解。
也许有人可以帮助我理解这一点?