Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    redirect stream xml dalla servlet al client

    Ciao a tutti, sono nuovo in tutti i sensi e anche nella programmazione Java e quindi scusatemi se le mie domande possono sembrarvi banali...veniamo al dunque.
    Ho due problemi che hanno a che vedere con le servlet:
    1) ho una servlet che accetta chiamate da un programma batch il quale passa dei parametri alla servlet; la servlet elabora questi parametri e apre una connessione url verso un servizio (una banale connessione http) che restituisce un InputStream (per la precisione uno stream XML)...ecco lo spezzone di codice che fa ciò:
    try {
    URL url = new URL(cURL);
    URLConnection URLconnection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)URLconnection;
    int responseCode = httpConnection.getResponseCode();
    if (responseCode == HttpURLConnection.HTTP_OK) {
    inStream = httpConnection.getInputStream();
    }
    } catch(Exception ex) {
    ex.printStackTrace();
    }
    Il mio quesito è questo: come faccio a direzionare quest'ImputStream dalla servlet al client (che sia un client web piuttosto che il programma batch), cioè se io sul browser clicco sul pulsante e chiamo la servlet, quest'ultima mi deve rispondere facendomi apparire sul browser il file xml. Quali sono le librerie da utilizzare o il set di istruzioni da usare?

    2) Come faccio a mantenere la sessione? cioè se faccio la login e poi eseguo altre operazione legate a quell'utente che si è loggato, come faccio a mantenere il contesto?

    Grazie mille e spero di essere stato chiaro.

    Ciao a tutti.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: redirect stream xml dalla servlet al client

    Originariamente inviato da aironeangelo77
    Il mio quesito è questo: come faccio a direzionare quest'ImputStream dalla servlet al client
    Semplicemente leggi a "blocchi di byte" (per avere buona performance) da questo InputStream e li "butti" pedestremente sul ServletOutputStream che ti fornisce la response (HttpServletResponse) della servlet.

    Nella response devi anche impostare il content type corretto ("text/xml") e il charset. Anzi ... magari se la response di quella connessione con HttpURLConnection te li fornisce già (sai o presumi che siano corretti), basta leggerli e impostarli a sua volta sulla response della servlet.

    Originariamente inviato da aironeangelo77
    2) Come faccio a mantenere la sessione? cioè se faccio la login e poi eseguo altre operazione legate a quell'utente che si è loggato, come faccio a mantenere il contesto?
    La gestione delle "sessioni" si basa su HttpSession. È quasi tutto "automatico" (salvo la questione del url rewrite se il client ha i cookie disabilitati).
    La request (HttpServletRequest) ha 2 metodi getSession() (non istanzi tu la sessione). E nello "scope" session puoi impostare attributi (nome->valore) che ti possono servire per mantenere quello che vuoi durante la sessione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2026 vBulletin Solutions, Inc. All rights reserved.