Post

Visualizzazione dei post con l'etichetta GET

Hibernate: differenza session.get() e session.load()

DOMANDA: Qual è la differenza in Hibernate tra l'utilizzo di session.get(...) e session.load(...)? RISPOSTA: In Hibernate ci sono due metodi per recuperare gli oggetti: GET: Utente utente = ( Utente ) session . get ( Utente . class , idUtente ); Il metodo get() carica l'oggetto accedendo al database (se non è già presente un'istanza nella cache con lo stesso id) per valorizzarne gli attributi. Qualora non ci fosse nessuna corrispondenza, il metodo restituisce null. LOAD: Utente utente = ( Utente ) session . load ( Utente . class , idUtente ); Il metodo load() restituisce invece un'istanza del proxy di riferimento all'oggetto in questione (nel nostro caso Utente) senza accedere al database (viene valorizzato solo il campo id quindi). Solo quando si accede all'oggetto con i suoi metodi viene eseguito l'accesso al database (se non è già presente l'oggetto in cache). Questo metodo si comporta, nella pratica, co

Controlli di sicurezza JSP e Servlet

DOMANDA: Perché non basta fare i controlli di sicurezza in una pagina JSP che rimanda ad una Servlet? RISPOSTA: La servlet è esposta (tramite configurazione del file web.xml ) allo stesso modo di una JSP, quindi è pubblica. Chiunque la può richiamare via GET , POST o per qualunque metodo previsto dalla servlet stessa e quindi si potrebbe avere una risposta bypassando la JSP e quindi i controlli in essa contenuti. Quindi è corretto (e fondamentale) mettere in sicurezza anche l’accesso alla servlet. La regola che vige per il web è che qualunque input o output che  proviene o può provenire da un utente (quindi da una fonte non sicura) deve essere controllata/filtrata.