Problema durante l'utilizzo di JApplet che accede a un database in un'applicazione Web tramite Netbeans 6.5.1

StackOverflow https://stackoverflow.com/questions/808988

Domanda

Ho creato un JApplet usando Netbeans 6.5.1 che accede a un database. Quando il programma viene eseguito da solo, funziona perfettamente. Il problema è quando si tenta di metterlo online utilizzando un'applicazione Web in Netbeans, non accederà al database. Qualcuno mi ha detto che il problema è che la sicurezza Java non ti permetterà di farlo. È corretto? Come posso risolvere questo problema? Grazie.

È stato utile?

Soluzione

Come già accennato, un'applet senza segno può solo stabilire una connessione di rete con l'host da cui proviene l'applet. Tuttavia, se il database è ospitato su un server diverso dall'applet di origine, sarà necessario firmare l'applet. Se l'applicazione non è destinata alla produzione, è possibile autofirmare l'applet (non adatto all'uso in produzione in cui la firma deve essere eseguita da un'autorità di certificazione attendibile. Le autorità di certificazione in genere addebitano una commissione per il servizio di convalida delle credenziali dei propri clienti. ) Tuttavia, a scopo di test e dimostrazione, è possibile creare un certificato autofirmato. Con i certificati autofirmati, il browser visualizza un avviso all'utente che informa che le informazioni fornite in un certificato autofirmato non sono state convalidate da una terza parte attendibile (Autorità di certificazione).

Per autofirmare l'applet dai un'occhiata ai seguenti link:

http://java.sun.com/developer/onlineTraining /Programming/JDCBook/signed.html

http: // www-personal. umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html

Le altre cose da tenere a mente sono i tipi di driver JDBC da usare. I driver di tipo 1 e tipo 2 non sono adatti per essere utilizzati all'interno dell'applet a causa della loro dipendenza dal codice binario nativo. Tipo 3 e Tipo 4 sono quelli che dovresti usare per connetterti al database dall'interno di un'applet.

La soluzione migliore è NON effettuare la connessione al database da un'applet (se possibile), ma invece utilizzare un'applicazione lato server per connettersi al database per conto dell'applet.

Altri suggerimenti

come sottolineato da Clint, un'applet può connettersi solo al suo server di origine. per ovviare a questo, puoi firmare la tua applet con un certificato da un'autorità root, ma i certificati costano 200-400 $ / anno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top