Como criar e distribuir um Applet?

Introdução:

Pessoal coloquei a dúvida no básico, pois é estou com uma grande deficiência e tenho certeza que é porque eu não aprendi o principio. Preciso que alguém faça comigo o que fizeram com o fluminense. Ensinaram para eles o principio o que era uma bola, depois ensinaram que a perna poderia ser usada para chutar e assim por diante. Só que eu pretendo aprender.

Desenvolvimento:

Criei um applet. Ele obtém o MAC Address, Serial Number do HD, Serial Number da CPU, Acessar o Registro configura o e-mail e altera as configurações de rede ser necessário. (‘Não é usado para sacanear ninguém na internet nem para bancar o hacker é que preciso dessas configrações respectivamente para liberar ou bloquer acesso a um terminal específico e configurar remotamente o mesmo terminal para que ele possa logar no sistema’), sei fazer em C#, mas tem que ser em Java por Applet por questão da portabilidade e por trabalhar com diversos sistemas ao mesmo tempo e precisar me integrar a diversos outros softwares.

O Pepino:

Os Applet para fazer a mandiga toda, funciona (o que era para ser o mais dificil), mas somente quando eu rodo na maquina local pelo Netbeans mandando executar o Applet. Quando eu compilo e crio o .class e tento rodar na no html (que é na minha maquina mesmo ) ele não abre nem a imagem (que é o meu logotipo manero).

Conclusão:

Creio que o problema é que eu não estou conseguindo adicionar ao meu projeto as depedências, pois só com o import eu acho que não adianta, mas eu não sei adicionar elas. Eu sou muito leigo para entender o que o pessoal está falando nos tópicos avançados. Eu queria um exemplo de como incluir esses pacotes (se for isso que deve ser feito) e se não for pedir muito uns printscreen disso sendo feito no netbeans. Existem muitas pessoas com dúvida disso na internet ou melhor dívida.

[code]import java.io.IOException;
import java.net.InetAddress;
import java.io.InputStream;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.text.ParseException;
import java.util.StringTokenizer;

// Uso também
SocketException, UnknownHostException , Preferences , Image[/code]

Se alguém fizer a caridade de me ajudar ficarei muito grato.
Uso a versão 1.6 do JRE e o Netbeans 6.1

Eu não tenho grande experiência em applets, mas para juntar varias dependências em um pacote só é simples…

Todos os arquivos .jar são arquivos zipados, só descompactar, e juntar tudo, junte o conteúdo do teu jar com os dos outros e tente…

[quote=eduveks]Eu não tenho grande experiência em applets, mas para juntar varias dependências em um pacote só é simples…

Todos os arquivos .jar são arquivos zipados, só descompactar, e juntar tudo, junte o conteúdo do teu jar com os dos outros e tente…[/quote] Isto não parece legal… depois, se vc precisar atualizar estas classes de terceiros… como vc saberá que versão se trata.

Ola amigo, seguinte, segue um link para a documentação de applets, e uma grande ajuda pode vir da sua propria maquina, quando vc instala o jdk ele instala um monte de exemplos, com codigo e tudo, dá uma olhada no diretorio que vc instalou o java que tem inclusive exemplos de aplplets.

http://java.sun.com/javase/6/docs/technotes/samples/demos.html

Bom, agora vamos lá, seguinte, vc terá que acessar recursos da maquina, como vc já deve ter lido os applets rodam em uma sandbox, e a priori não consegue acessaar estes tais recursos que vc quer, mas pra resolver só vc assinar os seus jars e pronto, para fazer isto dá uma buscada na web.

Segue um exemplo de html que usa um applet meu aqui que usa outros jars, ps.: nomes ficticios:

<body class="listBody">
	<applet codebase="."
		code="com.my.Main"
		archive="zxy.jar,zxtt.jar,ola_mundo_applet.jar"
		width=820 height=465>
	<param name="context" value="${pageContext.request.contextPath}" />
	<param name="server_port" value="1100" />
	<param name="usu_id" value="${sessionScope.user.id}" />
</applet>
</body>

Bom, seguinte, na minha applet a classe main esta dentro de um destes jars, os jars estão no mesmo diretorio que a página, sem segredo.

Espero ter ajudado, vlw.

Já é uma boa dica, com certeza será muito útil. Vou verificar e se tiver sucesso vou dar a resposta. Em relação a assinar o applet eu já tinha visto isso, no mínimo essa parte deu para eu dar uma olhada antes. Essa parte class e jar eu tinha me embolado mesmo e quando eu chegar em casa vou ver isso. Não to muito preocupado com a atualização das versões das aplicações, pois a configuração das maquinas e softwares instalados “no meu caso” que tem que atender a minha aplicação e não o contrário.

E a propósito, Esse código HTML que você fez foi uma explicação excelente. Foi um big ban entre trevas.

Desculpa ressuscitar este tópico, mais minha grande duvida é a seguinte:

Esta rodando tranquilamente minha Applet, porem quando eu a levo para o ambiente web não roda nada.

Se eu digito no navegador:
C:\caminho do meu arquivo HTML\ArquivoContendoApplet.html

Assim ela roda tranquilamente, mais quando eu levo pro ambiente web no console me avisa que não foi possível achar a classe.

Erro -> java.lang.ClassNotFoundException

existe alguma coisa para ser feito no ambiente web?

No meu projeto web que ja esta em execução existe um diretório chamado /Apples/ neste esta contido meu arquivo HTML e o Jar com a classe…

AppletsJar.jar -> contem uma unica classe que é minha Applet.

Alguem pode me ajudar?

também estou usando o NetBeans…

Bom dia a todos.

Existe uma questão sobre applets que deve ser comentada:

Por razões de segurança, geralmente é considerado perigoso permitir que applets ou qualquer outro programa que você executa a partir de um navegador Web acessem seu computador local (Cliente). Você deve decidir se confia na fonte (Provedor) ou não de onde você o está requisitando. Por exemplo: se você optar em fazer um download de uma nova versão do navegador Firefox, você irá baixá-lo no site do Mozilla, neste caso você obviamente confiará no site do Mozilla, eis que estar te interessando no momento é o produto final que é a nova versão do navegador Firefox, e a confiança será tanta que você não levará em conta que o programa baixado fará modificações nos recursos do seu sistema, acrescentar novas bibliotecas, alterar o registro do windows, entre outros, ainda que de forma bem intensionada.

Assim como todo programa, as applets eram totalmente descarregadas no computador local, antes de serem executadas e tão logo acabavam de serem descarregadas, eram automaticamente executadas, sem que houvesse algum programa verificador, um anti-vírus qualquer ou até mesmo um usuário fosse autenticado, e ai que morava o perigo, pois applets já foram criadas até para instalarem cavalos de troia. Diante deste fato, os projetistas do java na Sun-microsystems se sensibilizaram e criaram um sistema de segurança de applets, o qual o chamaram de “Modelo de Segurança de Caixa de Areia - The Sandbox Model em inglês”. A origem do nome se prende ao fato de que tal sistema faz com que as applets ao serem executadas, seja monitoradas por um gerenciador de segurança chamado Applet Security Manager - Gerenciador de Segurança de Applet, que lança uma interrupção do tipo SecurityException, caso a applet viole qualquer regra de segurança imposta, e a idéia de caixa de areia surgiu de que elas servem para amortecer qualquer impacto de um desastre.

As tarefas que as applets podem executar sem nenhum tipo de restrição, são: exibir imagens, executar sons, processar o acionamento do teclado, do mouse e se comunicar com o computador host de onde foram carregadas. Por outro lado, applets não podem executar programas localmente instalados, não podem se comunicar com outros hosts exceto de onde ela foi carregada, não podem ler e escrever no sistema de arquivos local,[color=red] não podem obter informações do sistema em que operam, exceto sobre a JVM, justamente no seu caso.[/color]

Se que isto pode causar certos incovenientes, por exemplo em cadastro de funcionário, voce quer enviar a foto do mesmo para o servidor via webcam, neste caso eu sugiro que voce utilize uma nova tecnologia sobre applets que permite executá-lo até fora do navegador Web, incluindo aplicativos desktop que é o Java Web Start. Dê um lida nos links abaixo.

http://download.oracle.com/javase/tutorial/deployment/webstart/
http://www.java.com/en/download/faq/java_webstart.xml


http://webstartfaq.com/

[color=darkblue]Habilitando o Java Web Start no NetBeans:[/color]


http://netbeans.org/kb/docs/java/javase-jws_pt_BR.html

Um abraço

No meu caso eu tenho que fazer ela rodar para ter acesso a uma porta USB. Nessa porta USB eu tenho um leitor Biometrico U.are.U 4000B Reader, cuja as bibliotecas que tenho são em Java ou C/C++.
Optei por Java por ja ser a mesma tecnologia adotada no sistema em questão.

Bom nosso sistema hoje roda em cima dos framework:

  • flex builder 4.5 (Comunicação BlaseDS)
  • Spring Framework
  • hibernate (JPA)
  • JasperReport

Já estou habituado a escutar sobre Sandbox, pois no Flex é assim tbm. O complicado é que eu estou em um ambiente web e preciso colocar o leitor Biometrico.
Alguem tem outra solução pra me passar ou poderia me ajudar com essa da Applet…

por enquanto to querendo so mostra uma imagem na web como teste, ja tenho a applet funcionando com o leitor biometrico mais primeiro um teste simples para rodar na web…

Eu estou enroscado quando jogo os arquivo no meu projeto e tento rodar na outra maquina.

se tiver outra ideia, tbm é valido…

desde já grato…

Em minhas buscas achei um caso parecido do meu erro:

Site da Oracle

Bom pra mim aqui não funcionou e o erro foi o mesmo erro que esta acontecendo comigo…