Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331

    [Spring] redirect da ApplicationListener

    Salve a tutti, sto lavorando su un progetto web realizzato in java con il framework spring.
    Vorrei sapere se fosse possibile da un ApplicationListener fare una redirect ad un Controller passando dei parametri tramite la POST.

    Grazie a chi risponderà e buona giornata
    S.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da DarthSandr Visualizza il messaggio
    Salve a tutti, sto lavorando su un progetto web realizzato in java con il framework spring.
    Vorrei sapere se fosse possibile da un ApplicationListener fare una redirect ad un Controller passando dei parametri tramite la POST.
    Non penso sia fattibile. ApplicationListener/ApplicationEvent servono in generale per gestire "eventi" che riguardano il ciclo di vita della applicazione e su cui alcuni bean potrebbero essere interessati a riceverne notifica. Ma questi eventi non hanno direttamente a che fare con il flusso di request/response.

    Leggendo la reference, vedo che c'è un evento specifico RequestHandledEvent ma dice: "A web-specific event telling all beans that an HTTP request has been serviced. This event is published after the request is complete."
    Quindi anche gestendo questo evento non potresti fare alcun redirect.

    Precisa meglio contesto e obiettivi ... perché non è chiaro.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331
    Ciao e grazie della risposta.
    Io dovrei realizzare un server (chiamiamolo P) che è formato da 3 componenti logiche così definite:
    - A viene contattata da un server esterno T1 tramite POST e deve inviare una risposta a T1
    - C contatta un server T2 da cui riceve una risposta (il tutto sempre tramite POST)
    - B una componente intermedia usata da A e C per trasformate i dati ricevuti da T1 in un formato fruibile da T2 e viceversa.

    Ora, stando alle specifiche il flusso di operazione dovrebbe essere di due tipi:

    - da T1 a T2
    T1 contatta A, A contatta B che rielabora i dati e li invia a C il quale propone una pagina web all'utente e, sulla base delle selezioni dell'utente, deve preparare una post verso T2

    - da T2 a T1
    T2 contatta C, C contatta B che rielabora i dati e poi li invia ad A che, tramite una POST contatta T1

    Ora quello che ho iniziato a fare io è creare due controller (ControllerA e ControllerC) ma non ho ben chiaro come fare la parte B e come passare il controllo tra A e C.

    Spero sia più chiaro il tutto.
    Grazie

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da DarthSandr Visualizza il messaggio
    Ora quello che ho iniziato a fare io è creare due controller (ControllerA e ControllerC) ma non ho ben chiaro come fare la parte B e come passare il controllo tra A e C.
    E in tutto questo, cosa c'entrerebbero gli ApplicationListener?? Cioè ... di per sé non c'è alcun nesso.

    Se un controller Spring vuole invocare un servizio su un altro host, lo puoi fare benissimo (in modo sincrono, così restituisce al client una response in base alla response che a sua volta ha avuto).
    Cosa usare per fare la invocazione, dipende chiaramente dal servizio che l'altro host offre. Se fossero web service SOAP, allora dovresti usare una libreria di API Client SOAP, se fossero web service REST, allora una libreria API Client REST, ecc...
    Al limite l'uso diretto delle API di networking del framework standard. Oppure la Apache HttpClient.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331
    Ok grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.