我确实遇到了 ServletFiltering 和 EJB 注入的问题。我已经配置了一个 ServletFilter 并将其包含在我的 web.xml 中。
过滤器类:
package at.dot.web.rest.common.utils;
public class AuthRequestFilter implements Filter {
@EJB
private RequestValidator rv;
@Override
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
AuthRequestWrapper wr = new AuthRequestWrapper((HttpServletRequest) servletRequest);
if (rv.isRequestAccepted(wr)) {
filterChain.doFilter(wr, servletResponse);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void destroy() {
}
}
网页.xml:
<filter>
<filter-name>AuthRequestFilter</filter-name>
<filter-class>at.dot.web.rest.common.utils.AuthRequestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthRequestFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
一切看起来都很棒,而且没有任何问题。我现在确实想让整个事情变得更加灵活,并来到这篇文章: 如何在不修改 web.xml的情况下向 servlet 添加过滤器 那工作得很好。过滤器按定义调用。我的问题是:没有注入 EJB (rv)。对我来说总是空的。我很确定我错过了任何(简单的)问题 - 但是我没有发现错误。
有任何想法吗?
提前致谢