PDA

View Full Version : Java+MySQL+HTML


Il Creativo
24-06-2007, 21:12
Conosco tutti e 3 i paradigmi e li so usare ma ora mi ritrovo nella condizione di doverli integrare insieme per creazione e modifica di pagine web, ho provato a fare qualche semplice prova utilizzando il tag applet su file html, tag che carica il contenuto della class interessata, il problema è che non so come caricare file molto complessi e con varie interfacce di tipo swing, ho letto che dovrei utilizzare l'ereditarietà sulla classe JApplet, ma questo espediente basta per una corretta visualizzazione? Il mio primo esperimento è andato male.
Inoltre, un altro dubbio che attanaglia la mia mente è come dovrei fare ad integrare le varie select di mysql all'interno della struttura, qualcuno mi sa aiutare? Grazie

morskott
24-06-2007, 21:42
Allora, per integrare le 3 tecnologie ci sarebbe:
tra Java e MySQL usa il driver JDBC per il tuo RDBMS (in pratica devi trovare il file jar della tua installazione di MySQL e ti prendi un oggetto "Connection" con uno degli overloading di DriverManager.getConnection() e tramite oggetti quali Statement fai le tue query, se vuoi qualche hint in piu vai qua (http://www.dis.uniroma1.it/~lembo/didattica/ProgettoBasiDati/Lucidi/3-JDBC.pdf)).
Per la parte java - HTML o usi le applet come pensavi o l'accoppiata JSP/Servlet

tglman
25-06-2007, 10:20
Allora bisogna prima fare una semplice distinzione .... in java puoi creare applicazioni lato server o lato client ....
quello che hai fatto tu è un'applicazione lato client all'interno di un browser(Applet).

per interfacciarsi con il db invece si ha quasi sempre bisogno di un'applicazione lato server, il motivo è semplice,fare un'applicazione lato client che communichi direttamente con il db espone a molti problemi di sicurezza!

la cosa migliore e fare un'applicazione lato server che come unico output ha l'html e come input ha i post del browser, e l'elaborazione e fatta esclusivamente lato server(incluso l'accesso al db), in questo modo si deve gestire solo la sicurezza di una connessione http, e la cosa è piuttosto semplice ;).

Tu in che contesto vivi ?? cioe più chiaramente hai a disposizione un server su cui far girare applicazioni java ?? o hai solo un server statico, e quindi devi spostare l'elaborazione lato client ?

Il Creativo
25-06-2007, 10:48
Allora bisogna prima fare una semplice distinzione .... in java puoi creare applicazioni lato server o lato client ....
quello che hai fatto tu è un'applicazione lato client all'interno di un browser(Applet).

per interfacciarsi con il db invece si ha quasi sempre bisogno di un'applicazione lato server, il motivo è semplice,fare un'applicazione lato client che communichi direttamente con il db espone a molti problemi di sicurezza!

la cosa migliore e fare un'applicazione lato server che come unico output ha l'html e come input ha i post del browser, e l'elaborazione e fatta esclusivamente lato server(incluso l'accesso al db), in questo modo si deve gestire solo la sicurezza di una connessione http, e la cosa è piuttosto semplice ;).

Tu in che contesto vivi ?? cioe più chiaramente hai a disposizione un server su cui far girare applicazioni java ?? o hai solo un server statico, e quindi devi spostare l'elaborazione lato client ?

Dovendo sviluppare direttamente all'interno dell'azienda interessata credo sia lato server, avrò bisogno delle loro password e di lavorare direttamente dal loro PC, cosa cambia a livello di sicurezza?

tglman
25-06-2007, 11:37
allora se è lato server è molto più semplice ;)

Per i problemi di sicurezza ti dico solo che con l'applet sposti tutto il programma lato client, quindi una qualsiasi persona lo può decompilare e capire come funziona, e magari se nn ben nascoste e codificate può capire anche le password per il db (AAARGG). e poi più semplicemente può cercare di sniffare la connessione tra l'applet e il database .... e magari capire ache i dati che si passano e la struttura del db, a meno che nn usi una connessione verso il db "sicura"...

invece se usi un'applicazione lato server i dati che passano sulla rete ho stanno sul cliente sono solo gli output html ecc ...

molto meno pericolosi ;)

e poi mettere su un server https è molto più semplice!

per un'applicazione media sena troppe tecnologie io consiglio: http://velocity.apache.org/ per la parte presenazione.

http://ibatis.apache.org/ per la gestione con il database.

cosi basta che pensi a come deve essere strutturato il db e l'applicazione in java, li leghi l'uno all'altro tramite ibatis, poi fai le pagine in html e le leghi con velocity all'applicazione java!