Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
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


Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
Tesla Roadster, promessa o miraggio? La ...
Mark Hamilton, la tavola periodica del m...
Hanger 13 annuncia Uomo d'Onore: espansi...
La battaglia delle HBM4 entra nel vivo: ...
Dopo 12 anni torna Alien: Isolation. Ecc...
ADATA Trusta ridurrà i costi di i...
SpaceX fornirà 110.000 GPU NVIDIA...
Hyundai IONIQ 6 N-Line, prova in antepri...
Sospesi i lavori di riparazione delle pe...
Formula V vi farà cambiare l'airf...
Netflix usa l'IA generativa per battere ...
Quando l'AI costruisce sé stessa:...
Meno ventole, più raffreddamento:...
Adidas Trionda: come funziona la tecnolo...
Withings BodyFit, la bilancia che va ben...
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: 09:28.


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