Hogyan kap egy HttpServletRequest az én tavaszi bab?

szavazat
28

Én fejlődő app egy Flex alapú front end és a tavaszi / Hibernate back-end.

Ahhoz, hogy a Facebook integráció működik, ahogy megvan jelenleg, azt kell olvasni a sütik javascript elülső végén a back-end és némi érvényesítés bejelentkezés során látni, hogy a felhasználó megpróbálja meghamisítani a Facebook Belépés.

Ez lenne elég könnyű, de nem tudok rájönni, hogyan lehet a HttpServletRequest. Én használ egy elég alap Spring config (ez az első igazi tavaszi app, és én vagyok elég jártas most, de van sok, hogy én még soha nem nézett.)

Nem használok Spring MVC vagy tavaszi WebFlow vagy ilyesmi. Tudok az ServletContext, de én még nem alakított ki, hogyan lehet a kérelmet.

Minden segítséget?

A kérdést 18/02/2009 00:13
a forrás felhasználó
Más nyelveken...                            


5 válasz

szavazat
11

Ez a fajta Flex / BlazeDS specifikus, de itt van a megoldás, amit elér. Bocs, ha válaszolt a saját kérdésére egy baklövést.

    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()));
    }

Úgy működik, kapok a cookie-kat. A problémám keresett Spring - BlazeDS is volt. Tavaszi valószínűleg nem is, de azt még mindig nem tudom, hogyan lehet eljutni rá.

Válaszolt 18/02/2009 00:40
a forrás felhasználó

szavazat
75

Ha FlexContext nem áll rendelkezésre:

Megoldás 1: belső módszer (> = Spring 2,0 szükséges)

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder

        .getRequestAttributes()).getRequest();

2. megoldás: belső bab (valószínűleg Tavaszi 3.0 singelton bab szükséges!)

@Autowired

private HttpServletRequest request;
Válaszolt 25/11/2009 11:13
a forrás felhasználó

szavazat
1

A @Contextkommentár (lásd válaszok erre a kérdésre: Mit jelent az összefüggésben kommentár itt tavasz? ) Fog okozni, hogy kell beadni az Ön számára.

Kellett használni

@Context
private HttpServletRequest request;
Válaszolt 07/02/2016 12:36
a forrás felhasználó

szavazat
2

@ Eeezyy válasza nem működött nekem, bár én vagyok a tavaszi boot (2.0.4), és ez eltérhet, de a változás itt 2018-ban működik így:

@Autowired
private HttpServletRequest request;
Válaszolt 07/11/2018 16:01
a forrás felhasználó

szavazat
0

ezt kell csinálni

((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest().getRequestURI();
Válaszolt 17/06/2019 22:21
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more