如何在我的春豆中获得HttpServletRequest?

2022-08-31 14:52:00

我正在开发一个基于Flex的前端和Spring/Hibernate后端的应用程序。

为了让Facebook集成以我目前的方式工作,我需要在后端的前端阅读javascript中设置的cookie,并在登录期间进行一些验证,以查看用户是否试图欺骗他的Facebook登录。

这很容易,但我不知道如何获得HttpServletRequest。我正在使用一个非常基本的Spring配置(这是我的第一个真正的Spring应用程序,我现在对它非常熟悉,但是它有很多我从未看过的东西。

我没有使用Spring MVC或Spring WebFlow或类似的东西。我可以获取 ServletContext,但我还没有弄清楚如何获取请求。

有什么帮助吗?


答案 1

如果 FlexContext 不可用:

解决方案 1:内部方法(> = 需要 Spring 2.0)

HttpServletRequest request = 
        ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes())
                .getRequest();

解决方案 2:内部 bean(由 > = 2.5 支持,需要 Spring 3.0 用于单一豆!

@Autowired
private HttpServletRequest request;

答案 2

这是特定于Flex / BlazeDS的,但这是我想出的解决方案。抱歉,如果回答我自己的问题是一个错误。

    HttpServletRequest request = flex.messaging.FlexContext.getHttpRequest();

    Cookie[] cookies = request.getCookies();

    for (Cookie c:cookies)
    {
        log.debug(String.format("Cookie: %s, %s, domain: %s",c.getName(), c.getValue(),c.getDomain()));
    }

它的工作原理,我得到了饼干。我的问题是寻找春天 - BlazeDS有它。春天可能也是,但我仍然不知道如何到达它。