Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [applet -> Jsp/Servlet] Comunicazione

    Salve,
    ho un problema con le jsp.
    Ho un'applet che apre un JFrame dal quale l'untente ha un pannello per fare delle operazione. Risultato di tale operazione è un array di String. Ora necessito di passare tale array ad una jsp dalla quale (in base all'array di String) effettuo delle query e visualizzo i risultati sulla pagina web.
    Ora il problema è molto semplice ....come faccio a passare l'array dall'applet alla Jsp???

  2. #2
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Imposta l'oggetto come attributo della richiesta e quindi effettua il forward alla pagina jsp.

    Potrai "recuperare" l'array dalla pagina jsp facendo:

    codice:
    request.getAttribute("nomeOggetto")

  3. #3
    scusa la mia ignoranza, ma sono abbastanza nuovo di jsp e applet.
    Se non ho capito male dall'applet devo instanziare un oggetto RequestDispatcher, e da li chiamare il metodo forward?
    Scusa ma non credo di aver capito molto bene....

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Io farei cosi': Dalla applet invii una richiesta Post verso la jsp. Metti n parametri (uno per ogni elemento dell'array) con lo stesso nome in Post. Nella jsp recuperi facendo
    codice:
    String[] array = request.getParameterValues("nome");

  5. #5
    scusa la mia ignoranza. Sono nuovo di java...
    Ma come faccio a fare una richiesta POST dall'applet per passare l'array?
    Infine volevo chiederti: ma la jsp verrà visualizzata nella stessa finestra della pagina contenente l'applet?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Mi daresti maggiori dettagli su come funziona la tua applicazione.
    Dove sta l'applet? Perche' ti serve questa comunicazione tra applet e jsp?

  7. #7
    Ti spiego...
    io ho una jsp che contiene un'applet.
    L'applet è così composta. Non appena parte visualizza un bottone, il quale cliccato apre un JFrame con all'interno l'applicazione vera e propria.
    L'applicazione visualizza "graficamente" la struttura di un database, con degli strumenti per interegire con essa. Questo per permettere all'utente (sempre "graficamente") di fa delle query. O meglio l'utente seleziona degli oggetti, dopo aver dato l'ok...è il programma che in base agli oggetti selezionati elebora delle query SQL valide.
    Il mio problema è che dopo aver catturato gli oggetti selezionati (all'interno dell'applet) ed aver elaborato una corretta query SQL devo inviarla a una JSP. La JSP effettua la query al database e poi dovrebbe presentare i risultati all'interno di una pagina web.
    Ho quasi risolto il tutto, mi rimane da passare la query già elaborata o gli oggetti selezionati alla JSP. L'una o l'altra soluzione è indifferente, l'unica cosa che non riesco a fare è proprio "far uscire" queste informazioni dall'applet alla JSP.
    Capisco che la cosa sarà banale per chi conosce il linguaggio, ma mi sono avvicinato da poco alla programmazione java.
    Ho sempre usato php, ora ho deciso di "salire" ad un livello superiore con JSP e già che ci sono tuffarmi totalmente nel mondo java.
    L'obbiettivo un po ambizione sarebbe quello imparare a districarmi in JavaEE

    p.s. Ti ringrazio molto per la disponibilità dimostrata...ti debbo la classica birra!

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Non e' banale. Non usando molto le applet, prima non avevo compreso appieno il problema.
    Far uscire un info da un applet in quel modo credo che non sia possibile.
    La cosa che ci somiglia di piu' e' chiamare la pagina dall'interno della applet (pero' devi mettere i parametri nella url, quindi hai limitazioni sui caratteri).
    codice:
    URL miaJsp = new URL("http://www.mioIndirizzo.com/pagina.jsp?parametro=valore")
    getAppletContext().showDocument(miaJsp);

  9. #9
    si infatti...il mio problema è proprio quello!
    Avevo pensato alla soluzione da te proposta, ma come hai ben detto tu è limitata alla stringa massima dell'url (che se non sbaglio e i canonici 256 caratteri) e si tratterebbe di una richiesta di tipo GET.
    Una soluzione invece, potrebbe essere una richiesta http (dall'applet) tramite POST con all'interno la stringa o gli oggetti selezionati....ma non so in java come si fa.
    Guardando qua e là penso che si tratta di aprire uno Stream...ma non sono ancora molto ferrato in materia...sia su come aprirlo (dall'applet) e su come gestirlo dalla JSP. Anche se penso che dalla JSP non dovrebbe essere difficile in quando dovrei ritrovarmi i dati passati nell'oggeto request.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Si,si tratta di creare una connessione, aprire uno stream in scrittura e mandare su questo stream la richiesta. Il problema e' che la risposta (l'html della pagina) arriva sulla stessa connessione. Quindi l'applet puo' leggere i dati della pagina, ma la pagina non viene visualizzata sul browser.
    Ora mi e' venuta in mente una mezza soluzione un po' macchinosa, ma che credo possa funzionare. L'applet fa una richiesta di tipo post ad una servlet, questa salva in sessione i dati e restituisce un semplice messaggio di ok. Se l'applet riceve il messaggio di ok, fa una richiesta con il metodo sopra (quello della get) ad una jsp senza passare parametri. La jsp recupera i dati dalla sessione (possibilmente li rimuove anche dalla sessione) e l'impagina.

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.