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

    domanda su JSTL,Bean, Servlet

    Buongiorno,

    Stavo cercando di creare una form di ricerca dati in un db.
    La pagina che contiene il form consente di indicare i parametri della ricerca.
    Questi parametri li vorrei trasmettere ad un bean.
    Il bean poi dovrebbe avere un metodo "cerca" che , a partire dai parametri, cerca nel db.
    Il bean dovrebbe restituire in qualche modo i risultati (magari persino paginati) in modo che una pagina (magari la stessa che contiene la form) possa mostrarli con <c:foreach>...


    Ho letto alcuni tutorial per principianti, ma non riesco a capire una cosa architetturale (credo) stupida: perche' tutti fanno riferimento ad un "servlet" che dovrebbe restitutire il risultato della ricerca nel metodo doPost?? Non si puo' farlo senza usare un servlet? Mi sembrava di aver capito che una pagina jsp viene sempre tradotta in un servlet?
    Come si fa a creare un servlet con eclipse? (non me lo crea da solo?)

    JH

  2. #2
    Ciao hopfield,
    Mi sembrava di aver capito che una pagina jsp viene sempre tradotta in un servlet?
    Vero una pagina jsp in fase di compilazione viene tradotta appunto in una servlet.
    Come si fa a creare un servlet con eclipse? (non me lo crea da solo?)
    Se usi la versione Helios di eclipse ti basta fare new e scegliere servlet, altrimenti ti basta creare una classe java è estendere HttpServlet e poi censirla nel web.xml della tua applicazione.

    Venendo al problema, il fatto che nei tutorial sia presente una Servlet è dato dal motivo che per processare i dati inseriti nel form hai bisogno di accedere alla Request inviata, ovviamente la servlet (che può essere anche un'altra pagina jsp) ha la possibilità di accedere a tali dati. Nulla ti vieta di copiare tali dati in un tuo bean per poi elaborali come meglio credi, ma per farlo dovrai cmq creare un qualcosa (servlet - jsp) che possa accedere ai dati immessi nella form.
    Spero di essere stato chiaro.
    Francesco

  3. #3
    Perfetto. Grazie dell'aiuto.

    In effetti nel frattempo sbattendoci un po' la testa ho capito che e' molto piu' facile crearsi una servlet per esempio per validare i dati di una form (validazione lato server, ovviamente).
    Anche perche' se lo facessi con una pagina jsp verrebbe fuori una cosa molto piu' brutta imho.
    (mi sembra molto piu' leggibile mettere tutti i controlli di validazione in una classe java invece che sparpagliarli in una jsp)
    Quindi ho capito...usero' le servlet per questo motivo e mi sembra giusto cosi'.

    Ora mi chiedevo come poter fare una form di ricerca dati (una form in cui ci sono alcuni criteri di ricerca) per esempio ricerca clienti:

    quindi:
    1) la form jsp o html manda i parametri di ricerca ad una servlet
    2) la servlet nel "doPost" o nel "doGet" apre una connessione al db e compone la query sql adeguata, e apre la query
    3) il resultset deve essere messo in un array (arraylist?) e posto in una variable di sessione o nel request
    4) la servlet deve forwardare tutto ad una pagina jsp che, grazie alla tecnologia JSTL con foreach (e altri bei taglib di paginazione e di tabellazione) puo' mostrare la tabellina dei risultati
    5) la servlet deve chiudere la connessione

    ci siamo?

    Stasera provero'.
    JH

  4. #4
    Originariamente inviato da hopfield
    Perfetto. Grazie dell'aiuto.

    In effetti nel frattempo sbattendoci un po' la testa ho capito che e' molto piu' facile crearsi una servlet per esempio per validare i dati di una form (validazione lato server, ovviamente).
    Anche perche' se lo facessi con una pagina jsp verrebbe fuori una cosa molto piu' brutta imho.
    (mi sembra molto piu' leggibile mettere tutti i controlli di validazione in una classe java invece che sparpagliarli in una jsp)
    Quindi ho capito...usero' le servlet per questo motivo e mi sembra giusto cosi'.

    Ora mi chiedevo come poter fare una form di ricerca dati (una form in cui ci sono alcuni criteri di ricerca) per esempio ricerca clienti:

    quindi:
    1) la form jsp o html manda i parametri di ricerca ad una servlet
    2) la servlet nel "doPost" o nel "doGet" apre una connessione al db e compone la query sql adeguata, e apre la query
    3) il resultset deve essere messo in un array (arraylist?) e posto in una variable di sessione o nel request
    4) la servlet deve forwardare tutto ad una pagina jsp che, grazie alla tecnologia JSTL con foreach (e altri bei taglib di paginazione e di tabellazione) puo' mostrare la tabellina dei risultati
    5) la servlet deve chiudere la connessione

    ci siamo?

    Stasera provero'.
    JH
    Si il procedimento standard dovrebbe essere appunto questo seguendo il pattern MVC. Un cosiglio che ti darei e di non usare la sessione ma bensi i paremetri in request. Questa è solo ovviamente un ottimizzazione...

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.