View Full Version : [JAVA] - Gestione dei cookie con una servlet
clockover
24-09-2010, 13:29
Ho scritto una servlet che accetta come input attraverso una form un sito web! La servlet elabora alcune informazioni sul sito e stampa a video l'intera pagina attraverso response.getWriter()! Ovviamente ho dovuto cambiare tutti i collegamenti all'interno della pagina (href, img, form, frame, ecc..) per visualizzarla correttamente! Mi trovo in difficoltà però per la gestione dei cookies! Ho bisogno di farli propagare! Faccio un esempio che magari ci capiamo meglio:
1) inserisco il sito di www.hwupgrade in una form
2) invio alla servlet,
3) quando hwupgrade risponde mi inserisce nell'intestazione Set-Cookie ecc....
ora io voglio salvare quel cookie e ad ogni comunicazione con l'host di hwupgrade inviarglielo per fargli conoscere la mia presenza
Avevo pensato di crearmi una lista di una classe che contiene sia l'host che tutti i valori dei cookies... ma non so se la scelta è quella giusta!
Ci sono suggerimenti o aiuti di qualche genere?
Grazie
clockover
20-10-2010, 11:59
Pongo la domanda in un altro modo! Non riesco a venirne proprio a capo!
Dopo che ho inserito l'url della pagina web da visitare e a cui devo cambiare i vari collegamenti nel codice la mia servlet, attraverso il PrintWriter restituito da response.getWriter() stampa tutto a video! In questo modo è come se la visita sia stata fatta direttamente dall'utente e non attraverso la servlet!
All'interno di questa servlet ho una URLConnection ed è da li che mi ricavo il codice della pagina da modificare! Io però vorrei che quando nell'intestazione compare scritto SetCookie, ad ogni successiva connessione con quell'host posso inviargli i Cookies adatti!
In poche parole, per la gestione di questi cookies, devo crearmi io una qualche struttura all'interno della Servlet che tenga memorizzati gli host visitati oppure posso utilizzare qualche classe già presente che mi aiuti!
banryu79
20-10-2010, 12:14
Visto che nessuno ti ha ancora risposto sparo la mia, col rischio di dire cavolate, perchè non me indtendo ma... aprendo i javadoc e sfogliando rapidamente il package java.net.* ho trovato interfacce e classi del tipo: CookiePolicy, CookieStore, CookieHandler, CookieManager e HttpCookie.
Possono servirti? Bho.
clockover
20-10-2010, 12:19
Visto che nessuno ti ha ancora risposto sparo la mia, col rischio di dire cavolate, perchè non me indtendo ma... aprendo i javadoc e sfogliando rapidamente il package java.net.* ho trovato interfacce e classi del tipo: CookiePolicy, CookieStore, CookieHandler, CookieManager e HttpCookie.
Possono servirti? Bho.
Grazie prima di tutto dato che comunque sono almeno due mesi che ho problemi :mc: !
Proprio ora stavo leggendo quelle classi! Spero di trovare risoluzione in quello che cerco! Comunque se qualcun altro sa meglio di noi si faccia avanti! :D :D
banryu79
20-10-2010, 12:53
Qui c'è il tutotial ufficiale della acquisita Sun -> Lesson: working with cookies (http://download.oracle.com/javase/tutorial/networking/cookies/index.html)
Del codice di esempio -> esempio scrauso (http://www.java2s.com/Tutorial/Java/0320__Network/CookieStore.htm)
Pagina vecchierrima (http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Cookies.html) con qualche info che può ancora servirti.
Altra pagina tipo faq (http://www.davidreilly.com/java/java_network_programming/#6.7) sul networking in java.
clockover
20-10-2010, 12:56
Qui c'è il tutotial ufficiale della acquisita Sun -> Lesson: working with cookies (http://download.oracle.com/javase/tutorial/networking/cookies/index.html)
Del codice di esempio -> esempio scrauso (http://www.java2s.com/Tutorial/Java/0320__Network/CookieStore.htm)
Grande banryu :D :D adesso leggo tutto.... intanto la birra te la sei meritata comunque :cincin:
banryu79
20-10-2010, 12:58
Grande banryu :D :D adesso leggo tutto.... intanto la birra te la sei meritata comunque :cincin:
Ringrazia Google :rolleyes:
Ah, la morale della favola sarebbe: la prossima volta che devi fare qualcosa che non hai mai fatto in Java, e non sai da dove partire, prima o dopo aver postato su un forum corri a vedere se esiste un Java Tutorial (caccia la stringa "The Really Big Index" in un motore di ricerca) sull'argomento ;)
Altro tip: se devi ricorrere a un forum per Java, la prima scelta (posto che l'inglese non è un problema) è fiondarsi a fare ricerche sui forum della ex-Sun relativi a Java (ci sono tonnellate di informazioni di ottima qualità)
clockover
20-10-2010, 12:59
Cavolo l'ho consumato Google :muro: tra un po comincerà a farmi pagare le ricerche
banryu79
20-10-2010, 13:04
Cavolo l'ho consumato Google :muro: tra un po comincerà a farmi pagare le ricerche
Esagerato :D non lo farà mai.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.