Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Un proiettore economico, che fa della portabilità e immediatezza i suoi punti di forza. Adatto per una camera da letto o per la casa vacanze, è basato su sistema proprietario Linux ma offre piena compatibilità ufficiale a Netflix
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-05-2005, 16:54   #1
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
[XDOCLET+EJB-QL] Come avere in automatico l'id di una tabella?

EDIT: Domanda al post #13, please help me!

Ciao a tutti,
il problema e' questo: ho una serie di JSP che fanno delle richieste a delle session beans, le quali a loro volta istanziano delle entity bean, fanno delle query al database restituiscono i valori, le session bean elaborano e restituiscono ulteriori valori alle jsp.

Ok tutto questo gia' funziona, il problema e': tramite una jsp faccio il login, la session bean si occupa di verificare login e password e solo se e' ok fa passare alla prossima jsp.
Il problema e': se un utente mi accede alla prossima jsp perche' sa che esiste digitando l'indirizzo direttamente nel browser, in jboss ho visto che si puo'.
Come faccio a dirgli che non puo'?

Avevo pensato: trasferisco la password (criptata con lo SHA-1) da un jsp all'altro e ogni volta che faccio delle chiamate alla session bean devono corrispondere. Questo pero' mi costringe a fare una unica session bean che gestisce un utente dall'inizio alla fine o c'e' un modo per fare qualcosa di meglio?

Spero di essermi spiegato

Ultima modifica di Cimmo : 20-05-2005 alle 20:33.
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 19-05-2005, 22:18   #2
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
non sono sicuro di aver capito.
le tue jsp dovrebbero solo verificare se esiste una sessione attiva per l'utente che sta facendo la richiesta, in caso contrario devono ridirigerlo verso la pagina di login.
E' l'application server che deve occuparsi di tenere in piedi le sessioni, non tu applicativamente.
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 00:07   #3
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da kingv
non sono sicuro di aver capito.
le tue jsp dovrebbero solo verificare se esiste una sessione attiva per l'utente che sta facendo la richiesta, in caso contrario devono ridirigerlo verso la pagina di login.
E' l'application server che deve occuparsi di tenere in piedi le sessioni, non tu applicativamente.
Ecco esatto, ma non so come si fa a vedere se esiste una sessione attiva.
Cioe' per tenere in piedi una sessione devo avere una unica session bean o posso farlo con piu' session bean che diciamo "si passano la palla"? E in ogni caso come faccio a realizzare questo?

Grazie della pazienza
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 07:59   #4
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
il fatto che si chiamino session bean non ha nulla a che fare con la sessione web, che a seguito di un login deve essere mantenuta dall'application server attraverso un meccanismo come cookie o url rewriting.
le jsp che compongono l'interfacia web, una volta autenticato, faranno le chiamate ai bean che implementano la logica applicativa, passano i parametri appropriati (userid, ad esempio).

se ho capito male fammi un esempio.
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 10:06   #5
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da kingv
il fatto che si chiamino session bean non ha nulla a che fare con la sessione web, che a seguito di un login deve essere mantenuta dall'application server attraverso un meccanismo come cookie o url rewriting.
le jsp che compongono l'interfacia web, una volta autenticato, faranno le chiamate ai bean che implementano la logica applicativa, passano i parametri appropriati (userid, ad esempio).

se ho capito male fammi un esempio.
Lo so appunto per questo che sto cercando un metodo.
Cioe' se io parto da login.jsp che spedisce login e psw a loginBean.ejb, lei elabora e ritorna true se ok o false se non ok, il jsp se true fa forward alla pagina successiva che si chiama per es. due.jsp, ora pero' se uno sa che esiste due.jsp, puo' benissimo mettere nella barra del browser direttamente due.jsp e bypassare il check del login.

Allora vi stavo chiedendo come posso fare?
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 11:21   #6
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
Quote:
Originariamente inviato da Cimmo
Lo so appunto per questo che sto cercando un metodo.

Allora vi stavo chiedendo come posso fare?

il flusso corretto è:

- login jsp chiama il bean per controllare username e password, se ok crea una sessione valida per l'utente
- due.jsp e qualsiasi altra pagina come prima cosa quando vengono chiamate controllano se c'e' una sessione valida per la richiesta che e' arrivara, in caso positivo rispondono alla richiesta, in caso negativo gestiscono l'errore (magari rimandando alla pagina di login).
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 13:17   #7
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da kingv
il flusso corretto è:

- login jsp chiama il bean per controllare username e password, se ok crea una sessione valida per l'utente
- due.jsp e qualsiasi altra pagina come prima cosa quando vengono chiamate controllano se c'e' una sessione valida per la richiesta che e' arrivara, in caso positivo rispondono alla richiesta, in caso negativo gestiscono l'errore (magari rimandando alla pagina di login).
Perfetto, come faccio a creare e gestire una sessione valida?
Posso fare in modo che questa sessione sia "passata" tra le varie Bean?
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 13:47   #8
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
la jsp ha un oggetto implicito "session".

all'inizio di ogni jsp puoi fare un controllo del tipo che se contiene un attributo a tua scelta (che viene settato SOLO dalla jsp di autenticazione in caso di esito positivo), in caso contrario fai una redirect alla pagina di login.
qualcosa tipo:

<% if (session.isNew() || session.getAttribute("autenticato") == null)
{
response.sendRedirect(response.encodeRedirectURL("login.jsp"));
}

else {

//ecc.ecc.
}
%>
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 15:39   #9
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da kingv
la jsp ha un oggetto implicito "session".

all'inizio di ogni jsp puoi fare un controllo del tipo che se contiene un attributo a tua scelta (che viene settato SOLO dalla jsp di autenticazione in caso di esito positivo), in caso contrario fai una redirect alla pagina di login.
qualcosa tipo:

<% if (session.isNew() || session.getAttribute("autenticato") == null)
{
response.sendRedirect(response.encodeRedirectURL("login.jsp"));
}

else {

//ecc.ecc.
}
%>
Uh molto interessante.
ma mettere soltanto if (session.isNew()) che problemi puo' dare?
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 16:58   #10
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
Quote:
Originariamente inviato da Cimmo
Uh molto interessante.
ma mettere soltanto if (session.isNew()) che problemi puo' dare?


che se chiedi la prima volta la pagina te la nega reindirizzandoti verso il login, ma alla seconda richiesta ti viene servita anche se il login non l'hai superato
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 17:03   #11
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da kingv
che se chiedi la prima volta la pagina te la nega reindirizzandoti verso il login, ma alla seconda richiesta ti viene servita anche se il login non l'hai superato
Allora non basterebbe mettere la setAttribute e getAttribute?
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 17:11   #12
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
Quote:
Originariamente inviato da Cimmo
Allora non basterebbe mettere la setAttribute e getAttribute?

sì effettivamente basterebbe quello, dato che quando la sessione e' nuova non avrà quell'attributo "custom" valorizzato
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 17:29   #13
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da kingv
sì effettivamente basterebbe quello, dato che quando la sessione e' nuova non avrà quell'attributo "custom" valorizzato
Fantastico,
altre domandine fresche fresche:

- la variabile costumizzata non e' possibile dal client settarla vero? Questo dovrebbe assicurarmi la sicurezza al 100% che uno che non ha accesso al server non puo' accedere alle pagine successive.


- ne sai di EJB-QL?
Come si fa a fare in modo che l'id di una tabella venga creato da solo e che vada prograssivamente?
Ho provato il tag

Codice:
@jboss.unknown-pk class="java.lang.Integer"
 			auto-increment="true"
ma con scarso successo

Ultima modifica di Cimmo : 20-05-2005 alle 20:09.
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 18:04   #14
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
Quote:
Originariamente inviato da Cimmo
- la variabile costumizzata non e' possibile dal client settarla vero? Questo dovrebbe assicurarmi la sicurezza al 100% che uno che non ha accesso al server non puo' accedere alle pagine successive.
naturalmente no, sul client hai solo un cookie contenente l'identificativo della sessione ma gli attributi sono memorizzati sul server

Quote:
Originariamente inviato da Cimmo
- ne sai di EJB-QL?

zero, so solo cos'e' ma non l'ho mai usato
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2005, 20:07   #15
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da kingv
naturalmente no, sul client hai solo un cookie contenente l'identificativo della sessione ma gli attributi sono memorizzati sul server
Perfetto, grazie!

Quote:
zero, so solo cos'e' ma non l'ho mai usato
Doh!
Qualcuno che mi puo' aiutare?
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2005, 17:34   #16
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
kingv ti chiedo un'altra cosa:
se io ho un sistema gestito appunto da session e entity bean e dove i client sono dei jsp, come faccio a far si' che dal lato server, dopo una certa data e ora cambino delle cose?
Mi spiego: il server finche' non viene richiamato qualche business method non fa una cippa, quindi come faccio a fargli "controllare" il tempo e allo scadere di una data fa autonomamente una cosa?
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2005, 18:36   #17
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
Quote:
Originariamente inviato da Cimmo
kingv ti chiedo un'altra cosa:
Mi spiego: il server finche' non viene richiamato qualche business method non fa una cippa, quindi come faccio a fargli "controllare" il tempo e allo scadere di una data fa autonomamente una cosa?

ho capito il problema, se qualcuno non ti chiama non puoi fare il controllo dell'ora e quindi non puoi scatenare l'evento, vero?
non ti consiglio di usare una soluzione come un Thread o un Timer dato che le specifiche EJB impediscono l'uso esplicito dei thread (anche se quando mi e' capitato di usarli hanon sempre funzionato senza creare problemi con la gestione dell'application server ).
dalla release 1.4 di J2EE ho letto che c'e' il supporto di un timer service a livello di container. Dato che JBoss supporta quelle specifiche dovrebbe fornirlo, purtroppo non conosco un granchè il prodotto e non mi è mai capitato di usare questa caratteristica.
guarda la documentazione di javax.ejb.TimerService, dovrebbe essere quello che stai cercando
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2005, 18:41   #18
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da kingv
ho capito il problema, se qualcuno non ti chiama non puoi fare il controllo dell'ora e quindi non puoi scatenare l'evento, vero?
non ti consiglio di usare una soluzione come un Thread o un Timer dato che le specifiche EJB impediscono l'uso esplicito dei thread (anche se quando mi e' capitato di usarli hanon sempre funzionato senza creare problemi con la gestione dell'application server ).
dalla release 1.4 di J2EE ho letto che c'e' il supporto di un timer service a livello di container. Dato che JBoss supporta quelle specifiche dovrebbe fornirlo, purtroppo non conosco un granchè il prodotto e non mi è mai capitato di usare questa caratteristica.
guarda la documentazione di javax.ejb.TimerService, dovrebbe essere quello che stai cercando
Purtroppo sto facendo un progetto e le specifiche mi obbligano ad usare jboss 3.2.x che implementa J2EE 1.3
Le stesse specifiche mi impongono di mandare una mail allo scadere di una data...
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2005, 10:30   #19
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
kingv ho trovato questo http://docs.jboss.org/jbossas/admind...h10.sched.sect

il problema che non ho capito e':
se la data di attivazione dello scheduler e' da inserire nell'xml come cavolo faccio a runtime a cambiarla?
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2005, 11:20   #20
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
Quote:
Originariamente inviato da Cimmo
kingv ho trovato questo
se la data di attivazione dello scheduler e' da inserire nell'xml come cavolo faccio a runtime a cambiarla?

http://docs.jboss.org/jbossas/javado...Scheduler.html


ci sono i "setter" per tutte le proprietà che ne definiscono il comportamento
kingv è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Rocket Factory Augsburg ha riscontrato u...
Blue Origin sta ricostruendo e modifican...
BMW taglierà 8.000 posti di lavor...
7.600 annunci di nudify app su Meta, tut...
Visa ne lascia a casa 2600: intelligenza...
Batterie sostituibili? Per Logitech, gli...
IBM: l'IA riduce i costi delle violazion...
Logitech G Cloud bocciata dal pubblico, ...
NVIDIA RTX Spark, provato un prototipo c...
Sony e Fujifilm: evacuate le fabbriche d...
Starship: Ship 40 continua a galleggiare...
UMC investe su Singapore e Tainan per ri...
Steam Machine, novità sulle code:...
Anche Foxconn abbandona VMware e sceglie...
Windows 11 migliora l'accessibilit&agrav...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:59.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v