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
jvds
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
thingol
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
jvds
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
thingol
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.)