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

    jsp catturare eventi database

    Salve, ho un probrema che non riesco a risolvere relativo all'interazione tra applicazioni jsp e un database Mysql.
    Dovrei realizzare un applicazione jsp da distribuire in una rete locale (quindi utilizzabile contemporaneamente da più utenti) che si accorga delle modifica apportate sul database da altri utenti.
    Per spiegare meglio supponiamo che il programma sia utilizzato contemporaneamente da un utente A e un utente B e entrambi nello stesso istante stanno lavorando su una schermata del programma che visualizza con un menu a tendina la lista di utenti iscritti a un certo corso e consenta di aggiungere un nuovo utente.
    Se per esempio l'utente B aggiunge un nuovo utente al database vorrei che tale evento sia catturato e che la pagina dell'utente A sia aggiornata con la nuova lista di corsisti.
    E' possibile fare una cosa del genere? Se si potreste indirizzarmi sulla strada da adottare?

    Grazie..spero di essere stato chiaro!

  2. #2
    Nessuno ha idea di come si possa fare?

  3. #3

    Re: jsp catturare eventi database

    Certo che è possibile. JSP/Servlet sono fatti a posta per creare pagine DINAMICHE.E i modi di farla ne sono tanti. Dipende dal tuo progetto.

  4. #4
    Ciao,
    JSP serve proprio per fare delle pagine con dei contenuti dinamici.
    Quello che vorresti fare tu, da quello che ho capito, è una sorta di applicativo che si aggiorni in automatico quando succede qualcosa al DB (un inserimento per esempio). Ti dico subito che si può fare e ssecondo me anche in due modi.
    Non chiedermi però di implementare il codice perchè dovrei studiarci sopra, posso fornirti "la logica", "l'architettura".
    PRIMO METODO:
    Usare tecnologia client-side brevemente AJAX. Tramite ajax puoi fare delle richieste al Server (Database, classe che preferisci etc) periodicamente, quindi tramite uno script (javascript sostanzialmente) che inserirai nella pagina JSP periodicamente fai una richiesta e aggiorni solo la parte di pagina che ti interessa.
    Naturalmente lo script aggiorna la pagina a prescindere dell'effettivo cambiamento di stato del database....
    SECONDO METODO
    Più difficile e da verificare la fattibilità.
    Creare un listener che registra quando si esegue una query di INSERT al DB.
    Quando il listener si accorge di ciò invia i dati al client cioè devi simulare una richiesta HTTP,
    In linea teorica potrebbe funzionare,affidati comunque alla PRIMA SOLUZIONE.
    PRATICA VELOCE E SICURA.
    PS: credo che se vai sul sito JQUERY.com TROVERAI QUALCHE SCRIPT PRONTO.

    ciaoooooooo

  5. #5
    Innanzitutto grazie per le risposte...cmq si conosco abbastanza bene la tecnologia AJAX e JQUERY e avevo già pensato alla soluzione "polling" di richiesta periodica di aggiornamenti al db. In effetti la mia domanda era relativa alla seconda soluzione, in particolare sapere se esiste una qualche classe java che implementa un listener per il db o cmq un'altro sistema.

  6. #6
    Una soluzione potrebbe essere quella di costruirti una specie di profiler ovvero uno strumento che filtra tutte le operazioni che avvengono sul db, qualche framework tipo hibernate ha qualcosa di simile ma è abbastanza complesso.
    Per fare una cosa semplice semplice ti basta costruire una classe che fa da filtro fra la parte gui e il db e al presentarsi di determinate condizioni nelle query gli fai generare un qualche evento che viene catturato dall'ajax della tua jsp che aggiorna la pagina.
    Se invece vuoi qualcosa di più complesso e già fatto puoi controllare nella documentazione di hibernate ci sono gli strumenti che ti servono e utilizzarli.

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.