Aplicação web com applets no Tomcat

5 respostas
J

Olá,

Estou com um problema em minha aplicação. Utilizo um banco de dados sql server 2000 de um servidor da rede em que estou trabalhando e estou desenvolvendo uma aplicação com servlets, jsp e applets. Acontece que quando rodo minha aplicação usando http://<endereco_servidor>:8080/MinhaAplicação ela roda normalmente sem nenhum problema e quando rodo ela através do virtual host, exemplo www.projeto.blabla.br, na primeira vez que vou utilizar o banco de dados aparece os erros abaixo:

java.net.ConnectException: Connection refused: connect

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(Unknown Source)

at java.net.PlainSocketImpl.connectToAddress(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at sun.net.NetworkClient.doConnect(Unknown Source)

at sun.net.www.http.HttpClient.openServer(Unknown Source)

at sun.net.www.http.HttpClient.openServer(Unknown Source)

at sun.net.www.http.HttpClient.(Unknown Source)

at sun.net.www.http.HttpClient.New(Unknown Source)

at sun.net.www.http.HttpClient.New(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)

at AppletCursos.getListadeCursos(AppletCursos.java:98)

at AppletCursos.init(AppletCursos.java:58)

at sun.applet.AppletPanel.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Utilizo tomcat 5.5.17. Alguém sabe o que pode estar ocorrendo?

Obrigado

5 Respostas

A

Creio que o usuário que você está usando não tem permissão para acessar a base a partir de outro domínio que não seja o localhost.

Cheque as permissões do usuário do banco de dados.

J

As permissões do usuário estão corretas.
Já chequei.

Obrigado

T

Assine o applet, ou então faça com que tanto a aplicação web quanto a aplicação que a applet deve acessar estejam acessíveis no mesmo host.

Isto é porque uma applet pode abrir um socket para o host onde está hospedada sem precisar de assinatura digital; se precisar abrir um socket para algum outro host, ela precisa ser assinada digitalmente.

(localhost != www.projeto.blablabla.com.br)

J

thingol,

Seria possível vc me mostrar como assino o applet. Já tentei várias vezes e não consigo fazer funcionar.
Fiz assim:

keytool -genkey -alias key -storepass 123456 -validity 180
jarsigner -storepass 123456 -signedjar Applet_a.jar Applet.jar key
Coloco o Applet_a em minha aplicação (.war) faço referencia a ele mas não dá certo.

Obrigado

T

C>keytool -genkey -alias teste -dname "CN=Unidos Venceremos,C=BR,L=Sao Paulo,ST=Sao Paulo,O=Unidos Venceremos" -validity 3600 -keypass teste1234 -storepass teste1234 -keyalg RSA -keystore teste -keystore chaves.p12 -storetype PKCS12

C>keytool -selfcert -alias teste -keypass teste1234 -storepass teste1234 -keystore chaves.p12 -storetype PKCS12

C>jarsigner -keystore chaves.p12 -storepass teste1234 -storetype PKCS12 -keypass teste1234 Test.jar teste

C>keytool -list -v -keystore chaves.p12 -storepass teste1234 -storetype PKCS12

Keystore type: PKCS12
Keystore provider: SunJSSE

Your keystore contains 1 entry

Alias name: teste
Creation date: 20/06/2006
Entry type: keyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Unidos Venceremos, C=BR, L=Sao Paulo, ST=Sao Paulo, O=Unidos Venceremos
Issuer: CN=Unidos Venceremos, C=BR, L=Sao Paulo, ST=Sao Paulo, O=Unidos Venceremos
Serial number: 4498615b
Valid from: Tue Jun 20 17:58:03 GMT-03:00 2006 until: Mon Sep 18 17:58:03 GMT-03
:00 2006
Certificate fingerprints:
MD5: 68:DD:C5:47:A2:76:A9:66:8E:32:D7:29:2C:F6:01:BF
SHA1: 56:0D:A8:96:10:FB:1D:A3:E0:32:C1:E1:B2:57:3F:9E:75:5D:79:24



C>jarsigner -verbose -verify Test.jar

Criado 20 de junho de 2006
Ultima resposta 20 de jun. de 2006
Respostas 5
Participantes 3