JApplet não carrega

7 respostas
Ronaldoviper
ola pessoal, minha JApplet não carrega.

O erroé o seguinte:

load: class GuiReceptor not found.

java.lang.ClassNotFoundException: GuiReceptor

at sun.applet.AppletClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadCode(Unknown Source)

at sun.applet.AppletPanel.createApplet(Unknown Source)

at sun.plugin.AppletViewer.createApplet(Unknown Source)

at sun.applet.AppletPanel.runLoader(Unknown Source)

at sun.applet.AppletPanel.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.io.IOException: open HTTP connection failed.

at sun.applet.AppletClassLoader.getBytes(Unknown Source)

at sun.applet.AppletClassLoader.access$100(Unknown Source)

at sun.applet.AppletClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

 10 more

o código da minha pagína é o seguinte:

o código do applet é o seguinte:
package monografia.gui;

import java.awt.Container;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;
import javax.swing.JApplet;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextArea;

import monografia.midia.transmissao.Receptor;

public class GuiReceptor extends JApplet{

.

.

.

.

}

Obrigado pela atenção :slight_smile:

7 Respostas

T
<applet code="monografia.gui.GuiReceptor" codebase = "classes" width="503" height="252">
</applet>

a) A partir do Java 5.0 não é aconselhável pôr “.class” no atributo code, porque ele procura uma classe chamada “class”.
b) “codebase” é algo parecido com “-classpath”, assim como “code” é parecido com o argumento que você passa para o java.exe (o nome da classe).

Ronaldoviper

Boa Noite thingol, muito obrigado por ter respondido.
Fiz como vc sugeriu mas ainda continua dando o mesmo erro, vc tem ideia do que possa ser?

Obrigado.

T

Essa costuma ser a parte mais chata, acertar o “codebase”, porque depende de sua configuração de sua aplicação.
Veja se não tem de usar algo como codebase="/classes" ou outra coisa ainda (pense em uma applet como se fosse um img src=“nome de um arquivo.gif”. )

Ronaldoviper

Thingol minha estrutura de projeto é a seguinte:

\Monografia2007\WEB-INF\classes

Minha página esta dentro de WEB-INF e minha classe dentro de classes, como vc colocaria o codebase?

T

Seu browser não consegue enxergar absolutamente nada que está dentro de WEB-INF, porque o web container (como o Tomcat) esconde essa pasta de propósito para que você não possa baixar as servlets e outras classes, por motivos de segurança.
Quem executa as classes do applet é o plugin do browser, não o Tomcat.
Você tem de pôr as applets e as suas classes no mesmo lugar onde você põe páginas estáticas (.js, .html) e figuras (.jpg., .gif).

Ronaldoviper
Então, mas o que acontece é que esse applet deve ter segurança, não é qualquer um que pode acessa-lo.

Tenho uma pagina dentro do Web-Inf, que tb deve ter segurança. Quando o usuário loga eu dispacho essa pagina para o usuário através de:

RequestDispatcher disp = req.getRequestDispatcher("/WEB-INF/painelconfig.jsp");

disp.forward(req, resp);

O que acontece é que o applet está nessa página.
O que devo fazer?

T

Se você não puder mover o applet de diretório, então chore, porque applets são como figuras ou páginas estáticas; eles devem poder ser baixados pelo browser, senão ele não pode executá-los.

No máximo você pode criar um servlet ou jsp que pega o arquivo jar desse applet e o disponibiliza apenas para os usuários que estiverem autenticados no site (não aconselho trabalhar com o applet “explodido” em arquivos .class nesse caso, porque torna seu problema muito mais complicado). Aí você tem de mexer no tag “codebase” para que ela se refira a um servlet ou JSP que baixa um arquivo .jar para o cliente do browser, e aceitar que toda vez que alguém solicitar a applet ela vai sempre baixar, já que é gerada por um servlet ou jsp.

Criado 18 de outubro de 2007
Ultima resposta 19 de out. de 2007
Respostas 7
Participantes 2