|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
[JSP/SERVLET] Chiamata metodo servlet da jsp
Ciao a tutti
Ho nel DB una tabella con delle voci, queste voci devono apparire in un menu, rappresentano le categorie di un catalogo Visto che il catalogo è dinamico e che non volevo che venisse fatta una query per ogni visita alla pagina ho fatto una servlet che chiama un bean, ottiene le voci di catalogo e spara fuori la tabella impaginata. Fin qui tutto ok. Il problema sorge nel momento in cui si vuole aggiungere una categoria. Ho una pagina con un form per inserire la nuova categoria, la categoria viene inserita correttmaente nel db, ma per poter vedere la modifica devo aspettare che la servlet riparta... inaccettabile. Quindi mi chiedevo se e come fosse possibile poter chiamare un eventuale metodo update() della servlet da una pagina jsp. Il metodo ovviamente non posso renderlo static. Qualche idea? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il mio è un sospetto maccheronico e non una certezza scientifica ma se si potesse, vivaddio i forum potrebbero segnalare a chi scrive "hey, guarda che mentre stai scrivendo c'è qualcun'altro che ha risposto".
Le pagine web, anche quelle generate dinamicamente, sono degli stoccafissi: è il ricevente che deve evocare l'aggiornamento con una richiesta ad hoc. Una volta servito il contenuto, il fornitore perde cognizione del richiedente, fino alla domanda successiva (spara e dimentica, direbbero i guerrafondai E' possibile che sia uno degli effetti della carenza di stato del protocollo http. In questo caso l'alternativa sarebbe integrare un componente che dello stato si ricordi eccome. Un'applet firmata, per restare nel mondo Java. La cosa. però, complicherebbe la distribuzione dell'applicazione: dovresti informare gli utente della necessità di accettare l'esecuzione del componente attivo, oltre a sganciare qualche dollaro a Verisign per un certificato digitale attendibile. Spero comunque di essere contraddetto da qualcuno con maggiore esperienza dell'argomento. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
?
no guarda, una volta che viene inserito nel database una nuova voce tramite l'apposita pagina in jsp(che usa un bean) viene fatto un post alla pagina stessa che si aggiorna per forza, quello che mi serve è dire all'applicazione web che dopo aver inserito la nuova voce deve anche chiamare il metodo x della servlet. per dire io eseguo questo codice: nomeBean.nomeBeanInsert(); devo semplicemente avere sotto questa riga la chiamata al metodo di aggiornamento che è già bello e pronto. Il problema sta nel fatto che la servlet esiste a tempo di compilazione, e la pagina jsp non ha una reference alla sua istanza, e quindi si aspetta che al più venga chiamato un metodo statico. E il metodo statico non posso usarlo dato che il metodo deve modificare lo stato dell'istanza, il che prevede appunto un'istanza. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
Vabbè ho risolto
Ho guardato nella servlet se nel post c'era il parametro che indica l'inserimento di una nuova categoria e ho settato un flag, che una volt aggiornata la pagina fa l'update dello stato della servlet |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:17.



















