Seguinte, tenho um hardware, no qual preciso obter um valor dele para o formulário. O acesso a ele, que acredito ser o mais complicado, já consegui resolver utilizando JNA em um Applet. O lance agora é que preciso obter o valor que o Applet recolheu do hardware para injetar no formulário (possivelmente num input oculto, para ser gravado no banco de dados depois). Fiz alguns testes, e para não atrasar o projeto aqui, acabei por passar os dados do banco como parâmetro para o Applet e ele mesmo salvar. Mas isso, sem a menor dúvida, é uma falha grave de segurança, e de forma alguma pode ir para o produto final. Então, estou em busca de uma forma de obter o valor da Applet. Pesquisei na Internet, mas quase todas as informações datam de 2001 ou 2002 e utilizam JSObject, do pacote da netscape e Java 1.1. Alguém tem alguma ideia de como posso fazer isso?
Amigo,
quando precisei fazer algo parecido usei o JSObject (esse mesmo do pacote netscape).
Inclusive tive que compilar para 1.1 pois precisava suportar Microsoft VM (urgh!) pois na época a maior parte das maquinas vinham com sistema Windows XP que tinha a Microsoft VM instalada.
Enfim… funcionar… funciona, mas se é o melhor jeito…
to curioso também para saber se tem outro jeito!
striker07
Só pra complementar o que eu tentei fazer... imaginei alguma coisa do tipo:
<%@pagecontentType="text/html"pageEncoding="UTF-8"%><!DOCTYPE html><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>..:: Testando ::..</title><scripttype="text/javascript"src="js/jquery-1.7.2.js"></script><script>$('#clique').click(function(){alert($('#meuApplet').getResultado());});</script></head><body><h1>Teste Applet Bio</h1><objecttype="application/x-java-applet"height="0"width="0"id="meuApplet"><paramname="code"value="AppletTeste"/><paramname="archive"value="applet/AppletTeste.jar"/></object><aid="clique"href="#">Clique aqui para testar</a></body></html>
O código do Applet que estou testando é o mais simples possível:
Mas como era de se esperar, ele não encontra a função. O console Javascript mostra:
[color=red] Failed to load resource: the server responded with a status of 404 (Not Found) [/color]
striker07
Bom, o primeiro problema foi resolvido. Consegui chamar o método público do applet, adicionando um índice a sua referência no script jQuery. Assim, minha JSP ficou assim:
<%@pagecontentType="text/html"pageEncoding="UTF-8"%><!DOCTYPE html><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>..:: Testando ::..</title><scripttype="text/javascript"src="js/jquery-1.7.2.js"></script><script>$(document).ready(function(){$('#clique').click(function(){alert($('#meuApplet')[0].getResultado());});});</script></head><body><h1>Teste Applet Bio</h1><objecttype="application/x-java-applet"height="0"width="0"id="meuApplet"><paramname="code"value="AppletTeste"/><paramname="archive"value="applet/AppletTeste.jar"/></object><aid="clique"href="#">Clique aqui para testar</a><pid="receptor"></p></body></html>
Porém, como nem tudo são flores, comecei agora a ter problemas de permissões. O meu applet baixa algumas DLLs em uma pasta temporária e as adiciona ao path do JNA (para fazer acesso ao HW). Mesmo assinado, estou tendo o problema: