|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
[refresh pagina web]
ciao ragazzi vorrei chiedere un consiglio..
vorrei un meccanismo che mi aggiorni una pagina web. Questa pagina web restituisce dinamicamente il contenuto di un file xml. Vorrei che quando qualcun altro cambia il contenuto di questo file xml, la pagina web effettui automaticamente il refresh Cosa mi consigliate? |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
|
Io farei un javascript con un timer che ogni tot secondi chiede a una pagina dinamica (ad esempio php) se il file in questione è cambiato. In tal caso il javascript ricarica la pagina, e così via.
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
ci vuole qualcosa di piu efficiente.. si dovrebbe evitare di fare un timer..
ci vuole un segnale che arriva quando il file è stato cambiato e si riaggiorni la pagina.. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
generalmente appena viene ricevuta la risposta dal server la connessione termina, quindi non puo essere il server a segnalare la modifica , ma il client a controllare di volta in volta se è cambiato qualcosa.
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati. |
![]() |
![]() |
![]() |
#5 | |
Bannato
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
|
Quote:
Se non metti un javascript (o qualcosa del genere, comunque un contenuto attivo lato client) non puoi segnalare niente al browser. |
|
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
allora.. scendo nel dettaglio.. mi scuso se non mi sono spiegato bene prima..
la pagina web restituisce le informazioni da un file xml presente in locale. Questo file xml è modificato da un Web Services(sempre in locale) che riceve richieste dall'esterno. Quindi quando arriva una modifica a questo file xml vorrei che la pagina facesse refresh .. pensavo la seguente soluzione: creo una applet java per ogni pagina web dell'interfaccia che implementi una socket (client), ed implemento una socket server che viene sollecitata dalle modifiche del file xml da parte del Web Services. funzionerebbe cosi: quando apro la pagina web tramite l'applet presente su di essa si crea una socket client che crea una connessione con la socket server che è in attesa. Quando il Web Services cambia il file xml (ricevendo una richiesta dall'esterno di cambiarlo) la socket server manda un messaggio (rispondendo) alle socket client connesse in quel momento, dandole l'ordine di fare refresh .. dico connesse in quel momento perche ci possono essere piu istanze del browser attive che "leggono" il file xml e che vanno aggiornate questo in linea teoria.. non so se dico cose giuste, che ne pensate? Ultima modifica di soundsgood : 23-03-2010 alle 22:49. |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
io farei una funzione javascript (ajax) che chiama una servlet. la servlet rimane in attesa finche il file xml non viene modificato , e quando ciò avviene , la servlet riprende l'esecuzione , risponde ( manda un segnale alla pagina) , e la pagina fa il refresh
![]() |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
la servlet come fa a sapere quando il file xml è stato modificato?
(se ho dieci istanze del browser aperte si devono aggiornare tutte e dieci) |
![]() |
![]() |
![]() |
#9 | |
Bannato
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
|
Quote:
|
|
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
flx mi spieghi meglio la tua idea?
ripeto: se ho aperte dieci pagine web che visualizzano i dati di un file xml, e viene cambiato il file xml (e quindi le sue informazioni) voglio che tutte queste pagine facciano refresh automaticamente inoltre voglio evitare di impostare un timer, cosa che consumerebbe risorse Ultima modifica di soundsgood : 29-03-2010 alle 17:50. |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
inserire un javascript, legato al file xml.
quando il file xml viene modificato, viene chiamata anche la funzione js, la funzione js manda un segnale al web service che crea la nuova pagina (se è una pagina html che gli altri browser visualizzano non puoi modificarla, se gli altri browser hanno aperta una istanza del client, vedranno in tempo reale la modifica sul server) |
![]() |
![]() |
![]() |
#12 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
non capisco che intendi che la funzione js invia al web service..
ripeto: con n istanze del browser apro la pagina index.jsp (per esempio) che visualizza i dati presenti sul file xml. quando arrivano delle richieste dall'esterno un web service (ma chi lo fa non è importante) modifica il file xml vorrei che quando viene modificato il file xml, tutte le istanze (numero arbitrario) del browser in cui è visualizzata quella pagina web facciano refresh automaticamente |
![]() |
![]() |
![]() |
#13 | ||
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
Quote:
Quote:
|
||
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
Quote:
non mi sembra così assurda come cosa (è lo stesso meccanismo che ho programmato per una specie di tavolo da poker in lan con dei miei amici, solo che non avevo xml) |
|
![]() |
![]() |
![]() |
#15 |
Member
Iscritto dal: Jun 2007
Messaggi: 163
|
il file xml non è modificato dalla pagina web..
ripeto lo scenario.. la cose deve funzionare in locale.. il server quindi è localhost abbiamo un computer dove in locale tramite tomcat gira una jsp localhost../index.jsp che visualizza (tramite browser) le informazioni di un file xml (che si trova in locale) (supponiamo che su questo file xml non ci siano informazioni testuali.. ma che comunque influenzano le informazioni visualizzate nella pagina index.jsp detto questo ci sta in locale anche un WS (tramite Axis) che riceve dall'esterno (da internet) dei messaggi soap ed aggiorna il file xml (che si trova in locale). voglio che quando il WS locale aggiorna (riscrive) questo file xml (che ricordo è in locale) ogni browser che visualizza la pagina si aggiorni automaticamente |
![]() |
![]() |
![]() |
#16 | |
Bannato
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
|
Quote:
Che sia in un file swf, che sia in javascript o un'applet java, sempre un timer che controlla ogni tot lo stato del file attraverso una richiesta al webserver dovrai fare. Ti ho consigliato il JS perché lo ritengo il modo più semplice per implementare questa funzionalità. |
|
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
un meta refresh html ?
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:49.