В моем классе компонента фильтра я добавил некоторую зависимость от beans (с аннотацией @Autowired
). Но в методе doFilter()
, все мои бобы зависимостей имеют нулевой ...Использование некоторых компонентов в классе фильтров фильтра?
public class FacebookOAuth implements Filter
{
@Autowired
private BusinessLogger logger;
@Autowired
private IUserSessionInfo userSessionInfo;
@Autowired
private FacebookOAuthHelper oAuthHelper;
public void init(FilterConfig fc) throws ServletException
{
// Nothing to do
}
public void doFilter(ServletRequest sr, ServletResponse sr1, FilterChain fc) throws IOException, ServletException
{
// HttpServletRequest req = (HttpServletRequest)sr;
HttpServletResponse res = (HttpServletResponse) sr1;
String code = sr.getParameter("code");
if (StringUtil.isNotBlankStr(code))
{
String authURL = this.oAuthHelper.getAuthURL(code);
this.oAuthHelper равно в нуль (и других зависимостях бобы) ...
Не могли бы вы мне помочь?
Фактически, я не использую понятие MVC на стороне сервера (весна). Для моего стороннего клиента я использую технологию Flex, а сервлет slaveDS - связь с моим сервером.
Так вот, я использую понятие компонента фильтра.
Итак, как я могу обрабатывать свой компонент сеанса в моем компоненте фильтра?
Skaffman,
Я реализовал свою идею, так что я могу обновить свой application.xml с:
<bean id="FacebookOAuthHandler" class="com.xx.FacebookOAuthHandler" />
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/fbauth">FacebookOAuthHandler</prop>
</props>
</property>
</bean>
и мой FacebookOAuthHandler класса:
public class FacebookOAuthHandler extends AbstractController
{
@Autowired
private BusinessLogger logger;
@Autowired
private IUserSessionInfo userSessionInfo;
@Autowired
private FacebookOAuthHelper oAuthHelper;
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
// TODO
return null;
}
Но, этот метод handleRequestInt ernal никогда не вызывается, когда мой URL является: http://xx.xx.xx.xx/MyApp/fbauth
Как выглядит ваша конфигурация пружины? – GaryF