Trong lớp lọc bộ lọc của tôi, tôi đã thêm một số phụ thuộc vào bean (với chú thích @Autowired
). Nhưng trong phương pháp doFilter()
, tất cả đậu phụ thuộc của tôi có null ...Sử dụng một số hạt trong lớp Lọc bean?
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 bằng tại null (và đậu dependancy khác) ...
Ông có thể giúp tôi?
Thực tế tôi không sử dụng khái niệm MVC ở phía máy chủ (Spring). Đối với khách hàng phụ của tôi, tôi sử dụng công nghệ Flex và BlazeDS servlet tấn giao tiếp với máy chủ của tôi.
Vì vậy, đó là lý do, tôi sử dụng khái niệm bean lọc.
Vì vậy, làm cách nào tôi có thể xử lý khái niệm bean phiên của mình trong bean Lọc của tôi?
Skaffman,
tôi thực hiện ý tưởng của bạn, vì vậy tôi cập nhật application.xml của tôi với:
<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>
và FacebookOAuthHandler lớp học của tôi:
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;
}
Nhưng, phương pháp này handleRequestInt ernal không bao giờ được gọi khi URL của tôi là: http://xx.xx.xx.xx/MyApp/fbauth
Cấu hình lò xo của bạn trông như thế nào? – GaryF