Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    3

    Come effettuare una redirect Servlet-to-Servlet tramite Post?

    La mia necessità applicativa è quella di avere una Servlet che effettua una redirect lato Server verso una seconda Servlet passandole un parametro in Post.

    Solo che non riesco a farlo in nessun modo.

    La classe RequestDispatcher non mi è utile, perchè fa un semplice forward delle HttpRequest e HttpResponse attuali (io invece devo aggiungere alla Request un nuovo parametro che deve leggere la seconda Servlet).

    Non voglio usare una jsp intermedia con <form>, perchè non voglio che l'utente visualizzi i parametri a video (neppure da sorgente della pagina nonostante siano come <input type=hidden>).

    La response.sendRedirect non mi consente di inserire parametri, e non posso farlo neppure con la request.setParameter (metodo che non c'è fra l'altro).

    Come posso fare?
    Ho cercato in giro, sembra si debba usare la UrlConnection, ma non ho capito come dovrei usarla.

  2. #2
    l'idea che mi viene in mente è di mettere i dati che ti servono in sessione, fare la redirect e poi recuperarli nell'altra servlet. se eventualmente sono tanti puoi sempre crearti un oggetto che funge da DTO in cui metti dutti i dati che ti servono e poi nella seconda servlet recuperi l'oggetto intero

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    perche non puoi salvarli semplicemente come attributi della request? L'operazione che vuoi fare di solito è utile per comunicazione con domini(server) esterni ma mi sembra di capire che non sia questo il tuo caso.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    3
    Intendi una cosa del genere?

    request.setAttribute("nome", "valore");

    RequestDispatcher dispatcher;
    dispatcher = getServletContext().getRequestDispatcher(url);
    dispatcher.forward(request, response);

    Forse sì, potrebbe essere un'idea: passo la request così come mi arriva all'altra servlet, e leggo il dato aggiuntivo con la request.getAttribute("nome");

    Oppure come dice gogetassj4dp potrei provare a metterlo in sessione.

    In ogni caso mi sa che se utilizzo una di queste due soluzioni, dovrò mettere mano al codice nella seconda servelt...

    La mia idea era quella di ottenere un metodo il più semplice possibile per fare una Post alla seconda servlet, senza poi dover modificare nulla in questa...

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.