Acessando MySQL de um JApplet

Ola pessoal, tudo bem??
Olha q engraçado (que ja me deu muita raiva!!), eu fiz um applet pra conectar via browser, testei ele localmente com o eclipse (applet viewer) e deu tudo certinho. Coloquei ele remotamente neste site www.comp.ufscar.br/~jordansilva/index.html (podem testar login: 1; senha:oie, se colocarem algo diferente disso ele da uma mensagem d erro…deveria dar!!!) e dai começo minha dor d cabeça!! Fiz uma assinatura como manda esse manual http://www.javafree.org/javabb/viewtopic.jbb?p=114395&page=1 e setei as configuraçoes de acesso remoto do windows XP e do MySQL mas mesmo assim ele nao conecta, diz q nao acha o drive…
Meu amigo fez um teste simples da maquina dele executando um codigo de acesso ao banco e inserçao d uma tabela via eclipse, funcionou certinho!!! Entao nao eh problema com as permissoes do firewall nem do MySQL…
Abaixo segue o codigo de acesso e o erro que eh dado…

package empresa.controle.trabalho;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class GerenteConexao
{
	private Connection connection;
	private Statement statement;
	private String url, login, senha;

	public GerenteConexao(String url, String login, String senha) {
		// TODO Auto-generated constructor stub
		this.url = url;
		this.login = login;
		this.senha = senha;
	}

	public boolean criaConexao()
	{
		try{
			 if (connection == null)
			 {
				 Class.forName("org.gjt.mm.mysql.Driver");
			
				//	Criando a conexão com o Banco de Dados
				//String serverName = "localhost";
				//String mydatabase = "mydatabase";
				//String url = "jdbc:mysql://" + serverName + "/" + mydatabase; // a JDBC url
				connection = DriverManager.getConnection(url, login, senha);
			 }
			 else if (connection.isClosed())
			 	  {
				 	connection = null;
				 	return criaConexao();
			 	  }
		} catch (ClassNotFoundException e)
		{
			//	Driver não encontrado
			System.out.println("O driver expecificado não foi encontrado.");
			e.printStackTrace();
			return false;
		} catch (SQLException e)
		{
			//	Não está conseguindo se conectar ao banco
			e.printStackTrace();
			System.out.println("Não foi possível conectar ao Banco de Dados");
			return false;
		}
		
		return true;
	}
	
	public boolean closeConnection()
	{
		try {
			connection.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return false;
		}
		return true;
	}
	
	public Statement obterStatement()
	{
		if (connection == null)
			criaConexao();
		
		if (connection != null)
		{
			try {
				statement = connection.createStatement();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			return statement;
		}
		
		return null;
	}
}

JApplet

package empresa.controle.trabalho;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JOptionPane;

@SuppressWarnings("serial")
public class ControleFuncionario extends JApplet
{
	private PainelIniciaAtividadeJaInicializada painelInicialAtividadeJaInicializada;
	private PainelIniciaNovaAtividade painelNovaAtividade;
	private PainelIniciarAtividades painelIniciarAtividade;
	private PainelInsereAtividadeRealizada painelInsereAtividadeRealizada;
	private PainelLogin painelLogin;
	private PainelParaAtividade painelParaAtividade;
	
	// Container do JApplet
	private Container container;
	//private JScrollPane sp;
	
	// o funcionario q logou no sistema
	private Funcionario funcionario;
	private RealizaTarefa rt;
	
	// conexao com o banco
	private GerenteConexao conexao;
	private String login;
	private String senha;
	private String url;
	
	@Override
	public void init()
	{
		url = "jdbc:mysql://200.18.98.72:3306/GerenciamentoFuncionario";
		login = "login";
		senha = "senha";
		conexao = new GerenteConexao(url, login, senha);
		
		container = getContentPane();
		container.setLayout(new BorderLayout());
		//sp = new JScrollPane();
		//container.add(sp, BorderLayout.CENTER);
		
		this.setSize(500, 600);
		
		login();
	}

	private void login()
	{
		painelLogin = new PainelLogin();
		//sp = new JScrollPane(painelLogin);
		
		container.removeAll();
		container.add(painelLogin, BorderLayout.CENTER);
		repaint();
		
		JButton entrar = painelLogin.getJButtonLogar();
		
		class Logar implements ActionListener
		{
			public void actionPerformed(ActionEvent arg0)
			{
				int codigo = 0;
				try{
					codigo = Integer.parseInt(painelLogin.getJTextFieldLogin().getText());
				}catch(NumberFormatException e){
					painelLogin.erro();
					painelLogin.getJPasswordFieldSenha().setText("");
					painelLogin.getJTextFieldLogin().setText("");

					return;
				}
				funcionario = Funcionario.obter(codigo, conexao);

				if (funcionario == null)
				{
					painelLogin.erro();
					painelLogin.getJPasswordFieldSenha().setText("");
					painelLogin.getJTextFieldLogin().setText("");

				}
				else{
					char[] senhaAux = painelLogin.getJPasswordFieldSenha().getPassword();
					
					String senha = "";
					for (int i = 0; i < senhaAux.length; i++)
						senha += senhaAux[i];
					
					if(!funcionario.getSenha().equals(senha))
					{
						painelLogin.erro();
						painelLogin.getJPasswordFieldSenha().setText("");
						painelLogin.getJTextFieldLogin().setText("");
					}
					else{ // login com sucesso
						//verifica se funcionario esta realizando alguma tarefa
						Vector<RealizaTarefa> rtAux = RealizaTarefa.obter(funcionario, conexao);
						
						if (rtAux == null)
						{
							iniciaAtividades();
							return;
						}
						
						boolean realizando = false;
						for (int i = 0; i < rtAux.size() && !realizando; i++)
							if (rtAux.get(i).getStatus() == RealizaTarefa.OCORRENDO)
							{
								realizando = true;
								rt = rtAux.get(i);
							}
						
						if (realizando)
							pararAtividade();
						else iniciaAtividades();
					}
				}
			}			
		}
		
		Logar logar = new Logar();
		entrar.addActionListener(logar);
	}
	
	private void iniciaAtividades()
	{
		painelIniciarAtividade = new PainelIniciarAtividades();
		//JScrollPane sp = new JScrollPane(painelIniciarAtividade);
		
		container.setLayout(new BorderLayout());
		container.removeAll();
		container.add(painelIniciarAtividade, BorderLayout.CENTER);
		
		repaint();
		
		JButton novaAtividade = painelIniciarAtividade.getJButtonNovaAtividade();
		
		novaAtividade.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0)
			{
				novaAtividade();
			}			
		});
		
		JButton AtividadeIniciada = painelIniciarAtividade.getJButtonAtividadeInicializada();
		
		AtividadeIniciada.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent arg0)
			{
				atividadeInicializada();
			}			
		});
		
		JButton atividadeRealizada = painelIniciarAtividade.getJButtonAtividadeJaRealizada();
		
		atividadeRealizada.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent arg0)
			{
				atividadeJaRealizada();
			}			
		});
	}
	
	private void novaAtividade()
	{
		Vector<Fabrica> fabricas = Fabrica.obtemTodas(conexao);
		Vector<Tarefa> tarefas = Tarefa.obtemTodas(conexao);
		
		painelNovaAtividade = new PainelIniciaNovaAtividade(fabricas, tarefas);
		//JScrollPane sp = new JScrollPane(painelNovaAtividade);
		
		container.setLayout(new BorderLayout());
		container.removeAll();
		container.add(painelNovaAtividade, BorderLayout.CENTER);
		repaint();
		
		JButton cancelar = painelNovaAtividade.getJButtonCancelar();
		
		cancelar.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0)
			{
				iniciaAtividades();
			}			
		});
		
		JButton iniciar = painelNovaAtividade.getJButtonIniciar();
		iniciar.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0)
			{
				Date dataInicio = new Date();
				
				Object[] nomeFabricas = painelNovaAtividade.getJListFabricas().getSelectedValues();
				Vector<Fabrica> fabricas = new Vector<Fabrica>();
				// pega as fabricas
				for (int i = 0; i < nomeFabricas.length; i++)
					fabricas.addElement((Fabrica)nomeFabricas[i]);
				
				int natureza = 1;
				if (painelNovaAtividade.getJRadioButtonNatureza1().isSelected())
					natureza = 1;
				else if (painelNovaAtividade.getJRadioButtonNatureza2().isSelected())
					natureza = 2;
				else if (painelNovaAtividade.getJRadioButtonNatureza3().isSelected())
					natureza = 3;
				
				int status = RealizaTarefa.OCORRENDO;
				
				//pega a tarefa
				Tarefa tarefa = null;
				if (painelNovaAtividade.getJRadioButtonAtividadeExistente().isSelected())
					tarefa = (Tarefa)painelNovaAtividade.getJComboBoxAtividades().getSelectedItem();
				else if (painelNovaAtividade.getJRadioButtonNovaAtividade().isSelected())
				{
					String t = (String)painelNovaAtividade.getJTextFieldNovaAtividade().getText();
					
					tarefa = new Tarefa(t, conexao);
					tarefa.salva();
				}
				
				rt = new RealizaTarefa(funcionario, tarefa, fabricas, dataInicio, natureza, status, conexao );
				if (!rt.salvar())
					JOptionPane.showMessageDialog(null, "Erro ao salvar!", "Erro", 
										JOptionPane.ERROR_MESSAGE);
				else pararAtividade();
				
			}			
		});
	}
	
	private void pararAtividade()
	{
		if (rt == null)
		{
			Vector<RealizaTarefa> rtAux = RealizaTarefa.obter(funcionario, conexao);

			for (int i = 0; i < rtAux.size(); i++)
				if (rtAux.get(i).getStatus() == RealizaTarefa.OCORRENDO)
					rt = rtAux.get(i);
		}

		painelParaAtividade = new PainelParaAtividade(rt);
		//JScrollPane sp = new JScrollPane(painelParaAtividade);
		
		container.removeAll();
		container.add(painelParaAtividade, BorderLayout.CENTER);
		repaint();
		
		JButton parar = painelParaAtividade.getJButtonPararAtividade();
		
		parar.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0)
			{
				rt.termina();
				iniciaAtividades();
			}			
		});
	}
	
	private void atividadeInicializada()
	{
		Vector<Fabrica> fabricas = Fabrica.obtemTodas(conexao);
		Vector<Tarefa> tarefas = Tarefa.obtemTodas(conexao);
		
		painelInicialAtividadeJaInicializada = new PainelIniciaAtividadeJaInicializada(fabricas, tarefas);
		//JScrollPane sp = new JScrollPane(painelInicialAtividadeJaInicializada);
		
		container.removeAll();
		container.add(painelInicialAtividadeJaInicializada, BorderLayout.CENTER);
		repaint();
		
		JButton cancelar = painelInicialAtividadeJaInicializada.getJButtonCancelar();
		
		cancelar.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0)
			{
				iniciaAtividades();
			}			
		});
		
		JButton iniciar = painelInicialAtividadeJaInicializada.getJButtonIniciar();
		iniciar.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0)
			{
				String data = painelInicialAtividadeJaInicializada.getJTextFieldData().getText();
				String hora = painelInicialAtividadeJaInicializada.getJTextFieldHora().getText();
				String dataCompleta = data + "-" + hora;
				
				SimpleDateFormat formataData= new SimpleDateFormat("dd/MM/yyyy-HH:mm");
				Date dataInicio = null;
				try {
					dataInicio = formataData.parse(dataCompleta);
				} catch (ParseException e)
				{
					return;
				}
				
				Object[] nomeFabricas = painelInicialAtividadeJaInicializada.getJListFabricas().getSelectedValues();
				Vector<Fabrica> fabricas = new Vector<Fabrica>();
				// pega as fabricas
				for (int i = 0; i < nomeFabricas.length; i++)
					fabricas.addElement((Fabrica)nomeFabricas[i]);
				
				int natureza = 1;
				if (painelInicialAtividadeJaInicializada.getJRadioButtonNatureza1().isSelected())
					natureza = 1;
				else if (painelInicialAtividadeJaInicializada.getJRadioButtonNatureza2().isSelected())
					natureza = 2;
				else if (painelInicialAtividadeJaInicializada.getJRadioButtonNatureza3().isSelected())
					natureza = 3;
				
				int status = RealizaTarefa.OCORRENDO;
				
				//	pega a tarefa
				Tarefa tarefa = null;
				if (painelInicialAtividadeJaInicializada.getJRadioButtonAtividadeExistente().isSelected())
					tarefa = (Tarefa)painelInicialAtividadeJaInicializada.getJComboBoxAtividades().getSelectedItem();

				else if (painelInicialAtividadeJaInicializada.getJRadioButtonNovaAtividade().isSelected())
				{
					String t = (String)painelInicialAtividadeJaInicializada.getJTextFieldNovaAtividade().getText();
					
					tarefa = new Tarefa(t, conexao);
					tarefa.salva();
				}
				
				rt = new RealizaTarefa(funcionario, tarefa, fabricas, dataInicio, natureza, status, conexao );
				rt.salvar();
				pararAtividade();
			}			
		});
	}
	
	private void atividadeJaRealizada()
	{
		Vector<Fabrica> fabricas = Fabrica.obtemTodas(conexao);
		Vector<Tarefa> tarefas = Tarefa.obtemTodas(conexao);
		
		painelInsereAtividadeRealizada = new PainelInsereAtividadeRealizada(fabricas, tarefas);
		//JScrollPane sp = new JScrollPane(painelInsereAtividadeRealizada);
		
		container.removeAll();
		container.add(painelInsereAtividadeRealizada, BorderLayout.CENTER);
		repaint();
		
		JButton cancelar = painelInsereAtividadeRealizada.getJButtonCancelar();
		
		cancelar.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0)
			{
				iniciaAtividades();
			}			
		});
		
		JButton iniciar = painelInsereAtividadeRealizada.getJButtonIniciar();
		iniciar.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0)
			{
				String data = painelInsereAtividadeRealizada.getJTextFieldData().getText();
				String hora = painelInsereAtividadeRealizada.getJTextFieldHora().getText();
				String dataCompleta = data + "-" + hora;
				
				String dataFimAux = painelInsereAtividadeRealizada.getJTextFieldDataFim().getText();
				String horaFim = painelInsereAtividadeRealizada.getJTextFieldHoraFim().getText();
				String dataCompletaFim = dataFimAux + "-" + horaFim;
				
				SimpleDateFormat formataData= new SimpleDateFormat("dd/MM/yyyy-HH:mm");
				Date dataInicio = null;
				Date dataFim = null;
				try {
					dataInicio = formataData.parse(dataCompleta);
					dataFim = formataData.parse(dataCompletaFim);
				} catch (ParseException e)
				{
					return;
				}
				
				Object[] nomeFabricas = painelInsereAtividadeRealizada.getJListFabricas().getSelectedValues();
				Vector<Fabrica> fabricas = new Vector<Fabrica>();
				// pega as fabricas
				for (int i = 0; i < nomeFabricas.length; i++)
					fabricas.addElement((Fabrica)nomeFabricas[i]);
				
				int natureza = 1;
				if (painelInsereAtividadeRealizada.getJRadioButtonNatureza1().isSelected())
					natureza = 1;
				else if (painelInsereAtividadeRealizada.getJRadioButtonNatureza2().isSelected())
					natureza = 2;
				else if (painelInsereAtividadeRealizada.getJRadioButtonNatureza3().isSelected())
					natureza = 3;
				
				int status = RealizaTarefa.CONCLUIDO;
				
				//pega a tarefa
				Tarefa tarefa = null;
				if (painelInsereAtividadeRealizada.getJRadioButtonAtividadeExistente().isSelected())
					tarefa = (Tarefa)painelInsereAtividadeRealizada.getJComboBoxAtividades().getSelectedItem();
				else if (painelInsereAtividadeRealizada.getJRadioButtonNovaAtividade().isSelected())
				{
					String t = (String)painelInsereAtividadeRealizada.getJTextFieldNovaAtividade().getText();
					
					tarefa = new Tarefa(t, conexao);
					tarefa.salva();
				}
				
				rt = new RealizaTarefa(funcionario, tarefa, fabricas, dataInicio, dataFim, natureza, status, conexao );
				if (!rt.salvar())
					JOptionPane.showMessageDialog(null, "Erro ao savar!", "Erro!",
											JOptionPane.ERROR_MESSAGE);
				else iniciaAtividades();
			}			
		});
	}
}

Mensagem de erro ao tentar conectar do applet remotamente

O driver expecificado não foi encontrado.
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
	at sun.applet.AppletClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at empresa.controle.trabalho.GerenteConexao.criaConexao(GerenteConexao.java:26)
	at empresa.controle.trabalho.GerenteConexao.obterStatement(GerenteConexao.java:71)
	at empresa.controle.trabalho.Funcionario.obter(Funcionario.java:68)
	at empresa.controle.trabalho.ControleFuncionario$1Logar.actionPerformed(ControleFuncionario.java:83)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener$Actions.actionPerformed(Unknown Source)
	at javax.swing.SwingUtilities.notifyAction(Unknown Source)
	at javax.swing.JComponent.processKeyBinding(Unknown Source)
	at javax.swing.JComponent.processKeyBindings(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed.
	at sun.applet.AppletClassLoader.getBytes(Unknown Source)
	at sun.applet.AppletClassLoader.access$100(Unknown Source)
	at sun.applet.AppletClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	... 39 more
Exception in thread "AWT-EventQueue-11" java.lang.NullPointerException
	at empresa.controle.trabalho.Funcionario.obter(Funcionario.java:74)
	at empresa.controle.trabalho.ControleFuncionario$1Logar.actionPerformed(ControleFuncionario.java:83)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener$Actions.actionPerformed(Unknown Source)
	at javax.swing.SwingUtilities.notifyAction(Unknown Source)
	at javax.swing.JComponent.processKeyBinding(Unknown Source)
	at javax.swing.JComponent.processKeyBindings(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Valeu pela ajuda,

Abraçao

faça assim no seu código HTML:

<applet CODE = "pacote.Applet.class" ARCHIVE = "mysql-connector-java-3.1.7-bin.jar" WIDTH = "700" HEIGHT = "400">

Bom, o meu HTML esta assim

<HTML>
	<APPLET CODE="empresa.controle.trabalho.ControleFuncionario.class" ARCHIVE="atrabalholc.jar" WIDTH=500 HEIGHT=600> </APPLET>
</HTML>

Tem jeito d colocar dois ARCHIVE?? Eu nao entendo nada d HTML!!!

o atrabalholc.jar eh jar assinado…

Valeu ai!!

Sim… eh so usar virgula…

Dica: utilize uma ferramenta do jdk, o htmlconverter, pra gerar o codigo html

Mudei pra isso aki

<HTML>
	<APPLET CODE="empresa.controle.trabalho.ControleFuncionario.class" ARCHIVE="atrabalholc.jar, mysql-connector-java-3.1.7-bin.jar" WIDTH=500 HEIGHT=600> </APPLET>
</HTML>

e nao deu certo!!!

Como eu disse eu nao entendo desse trem d HTML!!
Eu acrecentei o arquivo q vc disse mas esqueci d acionar ele no diretorio onde esta o index.html!!! Q lerdo!!!
Dai eu fiz. Pelo menos o erro mudou!!! Agora eh problema com permissao d acesso ao banco!!! Menos maus!! hehehe
Dai eu dei uma nova olhada no manual q passei acima e resolvi acrecentar o arquivo java que o meu keystore, onde fica a licença q eu fiz. O erro continuou o mesmo, acrecentei o meu .java.policy e mesma coisa!! O erro agora eh esse…

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: java.security.AccessControlException: access denied (java.net.SocketPermission 200.18.98.72:3306 connect,resolve)

STACKTRACE:

java.net.SocketException: java.security.AccessControlException: access denied (java.net.SocketPermission 200.18.98.72:3306 connect,resolve)
	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2541)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1474)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at empresa.controle.trabalho.GerenteConexao.criaConexao(GerenteConexao.java:32)
	at empresa.controle.trabalho.GerenteConexao.obterStatement(GerenteConexao.java:71)
	at empresa.controle.trabalho.Funcionario.obter(Funcionario.java:68)
	at empresa.controle.trabalho.ControleFuncionario$1Logar.actionPerformed(ControleFuncionario.java:83)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener$Actions.actionPerformed(Unknown Source)
	at javax.swing.SwingUtilities.notifyAction(Unknown Source)
	at javax.swing.JComponent.processKeyBinding(Unknown Source)
	at javax.swing.JComponent.processKeyBindings(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)


** END NESTED EXCEPTION **



Last packet sent to the server was 0 ms ago.
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2607)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1474)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at empresa.controle.trabalho.GerenteConexao.criaConexao(GerenteConexao.java:32)
	at empresa.controle.trabalho.GerenteConexao.obterStatement(GerenteConexao.java:71)
	at empresa.controle.trabalho.Funcionario.obter(Funcionario.java:68)
	at empresa.controle.trabalho.ControleFuncionario$1Logar.actionPerformed(ControleFuncionario.java:83)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener$Actions.actionPerformed(Unknown Source)
	at javax.swing.SwingUtilities.notifyAction(Unknown Source)
	at javax.swing.JComponent.processKeyBinding(Unknown Source)
	at javax.swing.JComponent.processKeyBindings(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Não foi possível conectar ao Banco de Dados

Dei uma olhada em outros foruns e nao consegui achar resposta!!
E pelo q eu vi eh questao d configurar as politicas do browser do cliente, e parece q tenho q enviar isso junto com o certificado mas nem tenho ideia d como fazer isso…

Meu arquivo .java.policy eh este

/* AUTOMATICALLY GENERATED ON Fri Jun 30 00:21:15 GMT-03:00 2006*/
/* DO NOT EDIT */

keystore "file:/D:/Jordan/JD/certificado/java";

grant signedBy "LC",  codeBase "http://www.comp.ufscar.br/~jordansilva/atrabalholc.jar" {
  permission java.net.SocketPermission "*", "accept, connect, listen, resolve";
};

Ja mudei essa permissao pra All e ja voltei pra essa ai!!

O meu arquivo HTML esta desse jeito

<HTML>
	<APPLET CODE="empresa.controle.trabalho.ControleFuncionario.class" ARCHIVE="atrabalholc.jar, mysql-connector-java-3.1.11-bin.jar, java, .java.policy" WIDTH=500 HEIGHT=570> </APPLET>
</HTML>

Alguem tem ideia d como resolver???

Abraçao

tente fazer assim no java.policy…

http://www.comp.ufscar.br/~jordansilva/*

outra coisa… eu acho q esse java.policy tem q fica na sua pasta pessoal e nao na mesma pasta da applet…

Bom, fiz as alteraçoes e nao deu certo!! :frowning:

Ficou assim…

Arquivo HTML

<HTML>
	<APPLET CODE="empresa.controle.trabalho.ControleFuncionario.class" ARCHIVE="atrabalholc.jar, mysql-connector-java-3.1.11-bin.jar, java" WIDTH=500 HEIGHT=570> </APPLET>
</HTML>

.java.policy que esta no diretorio C:\Documents and Settings\jordan

/* AUTOMATICALLY GENERATED ON Fri Jun 30 11:10:19 GMT-03:00 2006*/
/* DO NOT EDIT */

keystore "file:/D:/Jordan/JD/certificado/java";

grant signedBy "LC",  codeBase "http://www.comp.ufscar.br/~jordansilva/*" {
  permission java.net.SocketPermission "*", "accept, connect, listen, resolve";
};

e os arquivos que se encontram junto com o HTML sao:

atrabalho.jar, arquivo com a assinatura;
certificadoLC, arquivo gerado na exportaçao da assinatura do applet;
index.html;
java, arquivo gerado na criaçao da chave publica e privada para a assinatura;
mysql-connector-java-3.1.11-bin.jar, driver de acesso ao banco.