| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/10/2007 17:40:25
|
Ronaldoviper
JavaChild
![[Avatar]](/images/avatar/d469547325a320e660ba7f4bf05c7ecf.jpg)
Membro desde: 22/04/2006 18:06:03
Mensagens: 101
Offline
|
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:
<applet code="GuiReceptor.class" codebase = "classes/monografia/gui" width="503" height="252">
</applet>
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/10/2007 17:47:57
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
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).
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/10/2007 18:07:08
|
Ronaldoviper
JavaChild
![[Avatar]](/images/avatar/d469547325a320e660ba7f4bf05c7ecf.jpg)
Membro desde: 22/04/2006 18:06:03
Mensagens: 101
Offline
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/10/2007 18:13:06
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
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". )
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/10/2007 18:38:07
|
Ronaldoviper
JavaChild
![[Avatar]](/images/avatar/d469547325a320e660ba7f4bf05c7ecf.jpg)
Membro desde: 22/04/2006 18:06:03
Mensagens: 101
Offline
|
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?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/10/2007 10:03:04
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
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).
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/10/2007 11:37:04
|
Ronaldoviper
JavaChild
![[Avatar]](/images/avatar/d469547325a320e660ba7f4bf05c7ecf.jpg)
Membro desde: 22/04/2006 18:06:03
Mensagens: 101
Offline
|
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?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/10/2007 16:07:19
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
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.
This message was edited 2 times. Last update was at 19/10/2007 16:08:18
|
|
|
 |
|
|