You are going to get 2 different instances of your UserFilter
, one managed by Servlet Container, another by Spring - the UserFilter created by the Servlet Container will of course have a null WebContentDAOIF.
The solution is to let Spring manage your UserFilter (and properly inject the WebContentDAOIF). Then use Spring's DelegatingFilterProxy, to handle the filtering which ultimately delegates to your UserFilter.
In your web.xml, remove your UserFilter declaration and declare the DelegatingFilterProxy instead.
<filter>
<filter-name>userFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>userFilter</param-value>
</init-param>
</filter>