Applets

5 respostas
J

E ai pessoal,

Estou com um problema com applet não sei se é complicado e se alguem pode me ajudar…

Na minha aplicação Web tenho um applet, caso eu defina um package para ele, o .class do mesmo sera criado no meu WEB-INF/classes/pacote/…

Minha duvida é a seguinte como faço para chamar este applet no meu JSP…

Ja tentei e pesquisei varias formas mas nenhuma deu certo…

Estou chamando assim no meu JSP

Nao funciona como devo fazer estou usando VRaptor para chamar este JSP.

Obrigado !!!
Joao Vitor

5 Respostas

T

Applets devem ficar copiados em algum lugar onde possam ser baixados pelo browser.
Você escolheu justamente o lugar onde eles são invisíveis para o browser, ou seja, em um diretório sob WEB-INF.
A sugestão é ter um diretório “/applets” que seja parecido com aqueles diretórios “/imagens” ou “/css” que você normalmente usa em suas aplicações Web para deixar conteúdo estático.

J

Ok. e isso mesmo deu certo tirei dentro de WEB-INF funcionou.
Tem outro jeito de ser feito isso enganando o navegador e deixando dentro da pasta WEB-INF mesmo.

Obrigado !!!
Joao Vitor

T

Não.

Para um web container (como o Tomcat ou o Jetty) ou um application server (como o Glassfish ou JBoss ou WebSphere etc.) atenderem à especificação do JavaEE, se você tiver um diretório WEB-INF na sua aplicação Web, tudo que estiver dentro dele é privativo da aplicação e não deve ser servido para o browser, por razões de segurança.
(Pense bem - todo seu código JSP é compilado para arquivos .class que ficam dentro desse diretório WEB-INF também. Se você pudesse baixar os .class do seu código JSP, alguém lá no outro lado do mundo poderia simplesmente descompilar sua aplicação e roubá-la.)

Não é que você possa “enganar o browser”, até porque ele não tem nada a ver com isso. Você teria de ter um web container ou application server que não atendesse às especificações do JavaEE - o que obviamente você não quer.

J

Ok. entendi estou tendo o seguinte problema tenho numa applet minha o seguinte comando
o arquvio zip esta junto com esta Applet.class

getClass().getResource("/arquivo.zip");

E esta dando a Exception java.lang.NullPointerException por que ?

T

Em uma applet você tem de pegar resources que estão no mesmo .jar da applet.

Para pegar coisas que estão fora desse .jar, aí você fica na dependência de o browser já ter baixado esse arquivo.zip, que provavelmente não terá sido baixado ainda, e aí você vai acabar pegando esse NullPointerException.

(Nem é preciso dizer que applets devem ser sempre empacotadas como .jar, pois é arriscado, como você deve ter descoberto, deixar tudo explodido em arquivos .class e ficar na dependência de pegar algum arquivo que o plugin ainda não baixou, ou teve problemas para baixar.)

Criado 4 de maio de 2009
Ultima resposta 5 de mai. de 2009
Respostas 5
Participantes 2