erro Applet  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
evandrosantos
JavaTeenager

Membro desde: 15/12/2006 09:37:51
Mensagens: 194
Offline

e ai pessoal...

tenho uma aplicação desktop que necessitei passá-la para Applet. Rodou direitinho, exceto quando chego na part5e de gerar relatórios. Quando clico no botão que me gera o relatório dá o seuinte erro:



tentei editar o arquivo .policy dessa forma:



mas não deu certo...tb tentei assinar a applet...não deu certo

alguém poderia me ajudar a solucionar isso? qualquer idéia é bem-vinda!!!

desde já agradeço a todos.

flws
oyama
Virtual Machine Man

Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline

Onde fica o arquivo .\Relatorios\Protocolo2.jasper? Tá no jar? Tá no site? Tá instalado na máquina do cliente? No seu código está acessando o arquivo assim mesmo (.\Relatorios\Protocolo2.jasper)?
evandrosantos
JavaTeenager

Membro desde: 15/12/2006 09:37:51
Mensagens: 194
Offline

ele fica na pasta Relatórios...eu coloquei dentro e fora do jar...ele está na minha máquina...é dela que estou tentando rodar a applet.

quando eu rodo pelo Eclipse funciona normalmente, mas se eu executo pelo browser dá esse erro ai.


alguma sugestão?
oyama
Virtual Machine Man

Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline

evandrosantos wrote:ele fica na pasta Relatórios...eu coloquei dentro e fora do jar

Afinal, está no jar ou não está?
evandrosantos wrote:...ele está na minha máquina...é dela que estou tentando rodar a applet.

Para testar um applet (e para a gente entender melhor por que não funciona), não use o termo "minha máquina", pois não sei se você está falando do servidor ou do cliente. O ideal é sempre enviar os .jasper dentro do próprio .jar.

Faça o seguinte:
Coloque os .jasper no jar (crie a pasta Relatorios na raiz do jar e coloque os .jasper nele).
Para acessar os .jasper use o caminho /Relatorios/blabla.jasper. Lembre-se que é case sensitive e é para usar a "/" e não a "\" e não precisa do ". " no inicio.
Se você está gerando o .jar pelo Eclipse, certifique-se se foi tudo gerado corretamente (abra o jar e veja se os .jasper estão lá).
Assine este .jar e todos os outros que voê usa com este applet.

evandrosantos
JavaTeenager

Membro desde: 15/12/2006 09:37:51
Mensagens: 194
Offline

cara...fiz o que vc disse e msm assim continuar a dar esse maldito erro...

ainda não sei o que pode estar havendo

mto obrigado pela sua ajuda

t+
oyama
Virtual Machine Man

Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline

Tinha um post aqui no GUJ falando sobre um bug de assinar jars se eles já tinham sido assinados anteriormente. Falava para retirar os arquivos de assinatura do arquivo e assinar de novo. Apagar o jar, gerar de novo e assinar também deve funcionar.
evandrosantos
JavaTeenager

Membro desde: 15/12/2006 09:37:51
Mensagens: 194
Offline

amigo,

tentei fazer o que vc me disse mas mesmo assim dá a mesma coisa...

não sei mais o que fazer.

se alguém tiver alguma idéria será muito bem-vinda.

obrigado.
javaAurelio
Java Ninja
[Avatar]

Membro desde: 11/09/2006 11:36:53
Mensagens: 273
Offline

Acho que um applet nao pode acessar arquivos no cliente. Por Seguranca do Java.

java.security.AccessControlException: access denied (java.io.FilePermission .\Relatorios\Protocolo2.jasper read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.File.exists(Unknown Source)
.....

Cara eu acho que nao pode,
mas deve ter uma forma bem Complexa para fazer isso.

JAVA NAO TEM LIMITE

SCJP 1.4 e SCWCD 1.5
[Yahoo!]
evandrosantos
JavaTeenager

Membro desde: 15/12/2006 09:37:51
Mensagens: 194
Offline

nossa, que m&$%@...

agora ferrou de vez então...

bom, se alguém souber dessa "forma complexa" de se fazer...

vlws
oyama
Virtual Machine Man

Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline

A tal "forma complexa" é assinando o código.
Mas você não colocou os seus .jasper no seu jar? Se colocou, você não está mais acessando o file system da máquina cliente. Poste o stacktrace do erro quando voce envia o seu .jasper dentro do jar. E se possivel poste o seu .jar e a sua pagina html/jsp que chama o codigo.
evandrosantos
JavaTeenager

Membro desde: 15/12/2006 09:37:51
Mensagens: 194
Offline

amigo, o erro eh esse:



eu estou tentando chamar de uma JApplet.

Obs: pelo eclipse roda td normal.

grato pela ajuda e pela atenção.
oyama
Virtual Machine Man

Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline



Como você está tentando acessar este arquivo? Você continua colocando a "\" ao inves da "/" (em código)? Precisa de uma "/" antes de "Relatorios".
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

evandrosantos wrote:tb tentei assinar a applet...não deu certo


a) Você precisa limpar sempre as applets do cache do browser. Esse cache não é limpo só com Ctrl+F5; você precisa ir ao Painel de Controle, e escolher Java (ou Java Plug-In), e ver onde é que se limpa o cache.
b) Você tem de assinar não só a sua applet, como os JARs que sua applet usa. E se a applet já estiver assinada, você precisa "limpar a assinatura" antes, conforme foi dito antes.
c) Relatórios não são muito bons para serem criados com applets (por conta desses problemas chatos); deveriam ser criados no servidor e baixados.


[WWW]
evandrosantos
JavaTeenager

Membro desde: 15/12/2006 09:37:51
Mensagens: 194
Offline


Como você está tentando acessar este arquivo? Você continua colocando a "\" ao inves da "/" (em código)? Precisa de uma "/" antes de "Relatorios".


no código eu passo "/" mas ai no stack ele inverte. Também já tentei colocar a barra antes de "relatorio" mas tb dá o mesmo erro...

evandrosantos
JavaTeenager

Membro desde: 15/12/2006 09:37:51
Mensagens: 194
Offline


a) Você precisa limpar sempre as applets do cache do browser. Esse cache não é limpo só com Ctrl+F5; você precisa ir ao Painel de Controle, e escolher Java (ou Java Plug-In), e ver onde é que se limpa o cache.
b) Você tem de assinar não só a sua applet, como os JARs que sua applet usa. E se a applet já estiver assinada, você precisa "limpar a assinatura" antes, conforme foi dito antes.
c) Relatórios não são muito bons para serem criados com applets (por conta desses problemas chatos); deveriam ser criados no servidor e baixados.


fiz o que vc disse...limpei o cache e tals...mas o erro persiste.
como assim vc diz que o relatórios "deveria ser baixados do servidor"? vc poderia me dar uma luz de como eu posso fazer isso? talvez seja uma solução paralela para meu problema...

obrigado
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team