Πώς μπορώ να αποκτήσω ένα HttpServletRequest στα φασόλια άνοιξη μου;

ψήφοι
28

Είμαι ανάπτυξη μιας εφαρμογής με ένα εμπρόσθιο άκρο Flex-με βάση και την άνοιξη / αδρανοποίησης back-end.

Για να πάρετε την ενσωμάτωση του Facebook που εργάζονται με τον τρόπο που έχω το πήρα σήμερα, θα πρέπει να διαβάσετε τα cookies που το javascript στο μπροστινό άκρο στο back-end και να κάνετε κάποια επικύρωση κατά την είσοδο για να δούμε αν ο χρήστης προσπαθεί να κοροϊδία Facebook του Σύνδεση.

Αυτό θα ήταν αρκετά εύκολο, αλλά δεν μπορώ να καταλάβω πώς να πάρει το HttpServletRequest. Είμαι χρησιμοποιώντας ένα πολύ βασικό Άνοιξη config (αυτή είναι η πρώτη πραγματική άνοιξη app μου, και είμαι αρκετά εξοικειωμένος με το τώρα, αλλά υπάρχουν πολλά για να Ποτέ δεν έχω κοίταξε.)

Δεν είμαι χρησιμοποιώντας την άνοιξη MVC ή την άνοιξη WebFlow ή κάτι τέτοιο. Μπορώ να πάρω το ServletContext, αλλά δεν έχουν ακόμη βρει τον τρόπο να πάρει το αίτημα.

Οποιαδήποτε βοήθεια;

Δημοσιεύθηκε 18/02/2009 στις 00:13
πηγή χρήστη
Σε άλλες γλώσσες...                            


5 απαντήσεις

ψήφοι
11

Αυτό είναι το είδος του Flex / BlazeDS συγκεκριμένη, αλλά εδώ είναι η λύση που έχω καταλήξει. Συγγνώμη αν απαντήσει το δικό μου ερώτημα είναι ένα faux pas.

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

Λειτουργεί, παίρνω τα cookies. Το πρόβλημά μου έψαχνε να Άνοιξη - BlazeDS είχε. Άνοιξη μάλλον κάνει πάρα πολύ, αλλά εγώ ακόμα δεν ξέρω πώς να πάρει σε αυτό.

Απαντήθηκε 18/02/2009 στις 00:40
πηγή χρήστη

ψήφοι
75

Αν FlexContext δεν είναι διαθέσιμη:

Λύση 1: εσωτερικό μέθοδο (> = Spring 2.0 απαιτείται)

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder

        .getRequestAttributes()).getRequest();

Λύση 2: μέσα φασόλια (κατά πάσα πιθανότητα Άνοιξη 3.0 για singelton φασόλια απαιτείται!)

@Autowired

private HttpServletRequest request;
Απαντήθηκε 25/11/2009 στις 11:13
πηγή χρήστη

ψήφοι
1

Ο @Contextσχολιασμός (δείτε τις απαντήσεις σε αυτή την ερώτηση: Τι κάνει το πλαίσιο σχολιασμού κάνει την άνοιξη; ) θα φροντίζει να εγχυθεί για εσάς.

Έπρεπε να χρησιμοποιήσω

@Context
private HttpServletRequest request;
Απαντήθηκε 07/02/2016 στις 12:36
πηγή χρήστη

ψήφοι
2

@ Απάντηση eeezyy δεν λειτούργησε για μένα, αν και είμαι χρησιμοποιώντας την άνοιξη εκκίνησης (2.0.4) και μπορεί να διαφέρουν, αλλά μια παραλλαγή εδώ το 2018 λειτουργεί ως εξής:

@Autowired
private HttpServletRequest request;
Απαντήθηκε 07/11/2018 στις 16:01
πηγή χρήστη

ψήφοι
0

αυτό θα πρέπει να το κάνει

((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest().getRequestURI();
Απαντήθηκε 17/06/2019 στις 22:21
πηγή χρήστη

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