Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Applets und Panikattacken

1 view
Skip to first unread message

Alexander M. Dietrich

unread,
Jul 24, 2001, 3:10:43 AM7/24/01
to
Hallo NG !

Habe ein Problem mit meinem Applet, das als frontend
client - eingaben an ein servlet übergeben soll .
Das Applet besteht aus
1Panel
->3 Choice + 1 Button+ 1 TextField
Ich konnte es ohne fehler kompilieren, aber wenn ich es mit dem appletviewer
testen will komme ich nicht mal über init() sondern erhalte gleich folgenden
fehlerwulst :
java.lang.NoClassDefFoundError: SearchApplet (wrong name:
com/tellux/xsso/Search
Applet)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:11
1)
at
sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:142)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at
sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:108)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:366)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:579)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:515)
at sun.applet.AppletPanel.run(AppletPanel.java:293)
at java.lang.Thread.run(Thread.java:484)

Woran liegts , bzw. was könnte falsch sein . Am CLASSPATH liegts jedenfalls
nicht . Bitte helfen !
Danke im Vorraus

Alexander

Axel Richrath

unread,
Jul 24, 2001, 5:02:22 AM7/24/01
to
"Alexander M. Dietrich" schrieb:

>
> java.lang.NoClassDefFoundError: SearchApplet (wrong name:
> com/tellux/xsso/Search
> Applet)
[exception stack gelöscht]

es sieht so aus, als ob du dich irgendwo vertippt und einen falschen
klassennamen angegeben hast... das ganze ist aber ohne die
entsprechenden sourcen nicht zu diagnostizieren. das ist im moment so,
als ob du am telefon zum arzt sagst: 'schauen sie mal - wenn ich so
mache, tuts weh - warum?' :-) wie also sieht der kontext aus?

axel

Steffen Hock

unread,
Jul 24, 2001, 5:03:02 AM7/24/01
to
> Habe ein Problem mit meinem Applet, das als frontend
> client - eingaben an ein servlet übergeben soll .
> Das Applet besteht aus
> 1Panel
> ->3 Choice + 1 Button+ 1 TextField

irgendwelche Listener?

> Ich konnte es ohne fehler kompilieren, aber wenn ich es mit dem
appletviewer
> testen will komme ich nicht mal über init() sondern erhalte gleich
folgenden

> fehlerwulst ...

Hast du mal versucht das ganze nicht mit dem appletviewer zu betrachten,
sondern
in ein html file einzubinden?
<applet code="myApplet.class" height="100%" width="100%"></applet>

Vielleicht stimmt was mit deinem Viewer nicht?

mfg
steffen

Alexander M. Dietrich

unread,
Jul 24, 2001, 3:47:35 AM7/24/01
to
> irgendwelche Listener?

Ja, hab ich ganz vergessen . Einen ActionListener auf dem Button.

> Hast du mal versucht das ganze nicht mit dem appletviewer zu betrachten,
> sondern
> in ein html file einzubinden?

Habe ich schon versucht, was mir einen grauen screen beschert, mit der
fehlermeldung class not found .

Alexander M. Dietrich

unread,
Jul 24, 2001, 3:50:28 AM7/24/01
to
es soll ärzte geben denen diese angaben für eine diagnose genügen ;-)

soll ich den source code posten ? also gut ist ja nicht viel. ;-))

// Source code geht los

package com.tellux.xsso;

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import java.applet.Applet;
import java.awt.Choice.*;

public class SearchApplet
extends Applet
implements ActionListener {

private TextField queryField;
private Button submitButton;
private Choice langs;
private Choice boolOp;
private Choice relation;

private int language;
private int bool;
private int relationType;
private String query;

public void init() {

setFont(new Font("Serif", Font.BOLD, 18));
add(new Label("Search String:"));

queryField = new TextField(40);
queryField.addActionListener(this);
add(queryField);


submitButton = new Button("Expand");
submitButton.addActionListener(this);
add(submitButton);

add(new Label("Choose language"));
langs = new Choice();
langs.add("None specific");
langs.add("Dutch");
langs.add("English");
langs.add("French");
langs.add("German");
langs.add("Spanish");
langs.add("Italian");
// langs.addActionListener(this);
add(langs);

add(new Label("Choose boolean operator"));
boolOp = new Choice();
boolOp.add("* Select *");
boolOp.add("And");
boolOp.add("Or");
// boolOp.addActionListener(this);
add(boolOp);

add(new Label("Select relation type"));
relation = new Choice();
relation.add("* Select *");
relation.add("Scope Note");
relation.add("Source");
relation.add("Definition");
relation.add("Sometimes Synonym for");
relation.add("Broader Term");
relation.add("Narrow Term");
relation.add("Top Term");
relation.add("Related Term / Opposite");
relation.add("Also as");
relation.add("Semantic Type");
//relation.addActionListener(this);
add(relation);

}


public void actionPerformed(ActionEvent evt)
{

Object src = evt.getSource();

if((src == submitButton)) {
query = URLEncoder.encode(queryField.getText());
submitData();
}

/*
if((src == relation)) {
relationType = relation.getSelectedIndex();
}
if((src == boolOp)) {
bool = boolOp.getSelectedIndex();
}
if((src == langs)) {
language = langs.getSelectedIndex();
}
*/


}


public void submitData()
{
try {
String host = "km.tellux.de";

URL currentPage = getCodeBase();
String protocol = currentPage.getProtocol();
String uri = "/jservlet/xssodemo" ;
int port = 80;
URL dataURL = new URL(protocol, host, port, uri);

URLConnection con = dataURL.openConnection();

// don't cache this URL
con.setUseCaches(false);
con.setDoOutput(true);

ByteArrayOutputStream byteStream = new ByteArrayOutputStream(512);
PrintWriter out = new PrintWriter(byteStream, true);
String postData = "QueryString=" + query +
"&language=" + language +
"&bool=" + bool +
"&relationType=" + relationType ;

// Write POST data into local buffer
out.print(postData);
out.flush(); // flush the toilet cause we didn't use println
String lengthString = String.valueOf(byteStream.size());
con.setRequestProperty("Content-Length", lengthString);
con.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
// Write POST data to real output stream
byteStream.writeTo(con.getOutputStream());
} catch(MalformedURLException mue) {
System.err.println("Bad URL!" + mue.toString());

} catch(UnknownHostException ue) {
System.err.println("Bad host!" + ue.toString());

} catch(IOException ie) {
System.err.println("I/O error!" + ie.toString());
}

}

public void destroy()
{
}

}


// Source code ist schon zuende

Na hoffentlich können sie mir helfen herr doktor ;-)

Ingo Horn

unread,
Jul 24, 2001, 5:18:09 AM7/24/01
to

Welches JDK benutzt Du? Bei Applets würde ich mich auf 1.1 beschränken.
Aber wenn ich mich recht entsinne, hattest Du ja mit dem AWT und nicht mit Swing
gearbeitet.


Ingo

--
__________________________________________________________
News suchen, lesen, schreiben mit http://newsgroups.web.de

Michael Schmidt

unread,
Jul 24, 2001, 5:19:16 AM7/24/01
to
Alexander M. Dietrich wrote:

> es soll ärzte geben denen diese angaben für eine diagnose genügen ;-)
>
> soll ich den source code posten ? also gut ist ja nicht viel. ;-))
>

Und wie rufst Du den Appletviewer auf?


Oder wie sieht Dein AppletTag in der HTML-Seite aus?


Micha

--
Homepage & FAQ von de.comp.lang.java: http://www.dclj.de

Axel Richrath

unread,
Jul 24, 2001, 5:48:04 AM7/24/01
to
Michael Schmidt schrieb:

>
> Und wie rufst Du den Appletviewer auf?
>
das wär meine nächste frage gewesen...

> Oder wie sieht Dein AppletTag in der HTML-Seite aus?
>

er sagte ja, er hätte probleme mit dem appletviewer...

axel

Michael Schmidt

unread,
Jul 24, 2001, 5:52:03 AM7/24/01
to
Axel Richrath wrote:

Er hat mir schon privat gemailt und der Aufruf in der HTML-Seite
enthielt nicht den Klassennamen incl. Package.

Zusätzlich zu meiner erfolgten Antwort muß dann natürlich von der
CodeBase ausgehend noch die Packagestruktur als Verzeichnisstruktur
vorhanden sein.

Axel Richrath

unread,
Jul 24, 2001, 6:13:08 AM7/24/01
to
Michael Schmidt schrieb:

>
> Er hat mir schon privat gemailt und der Aufruf in der HTML-Seite
> enthielt nicht den Klassennamen incl. Package.
>
das ist mir natürlich aus nachvollziehbaren gruenden verborgen geblieben
:-)

axel

Alexander M. Dietrich

unread,
Jul 24, 2001, 4:51:53 AM7/24/01
to
so aber jetzt funzt es . danke !

Ingo Horn

unread,
Jul 24, 2001, 7:09:56 AM7/24/01
to
"Alexander M. Dietrich" <alexander...@tellux.de> wrote:
>so aber jetzt funzt es . danke !
>
>


Was aber nichts daran ändert, dass so ein Problem leichter gelöst werden kann,
wenn man es nicht per PM diskutiert. Immer hin soll ja jeder die Möglichkeit
haben, dabei zu lernen.


Nur als kleine Bemerkung für´s nächste Mal.
Was Deine PM an mich angeht: JDK 1.2 für Applets ist schon ziemlich hoch
gegriffen, da z.B. der MS IE und NN <6.0 nur bis 1.18 unterstützen. Da wäre ich
für die weitere Entwicklung vorsichtig.
Aber es scheint ja noch zu funktionieren.


Dann wünsch ich Dir viel Glück

Alexander M. Dietrich

unread,
Jul 24, 2001, 11:32:14 AM7/24/01
to

ja sorry. wollte eigentlich nicht PMen (oder wie auch immer ) , ich habe in
meinem newsreader sonen button da steht "Antworten" drauf ....

Habe noch weitere fragen bezüglich applets :
mein applet soll wie schon beschrieben die eingabe an ein servlet
übermitteln . syntaktisch scheint das alles kein problem zu sein .es gibt ja
keine fehlermeldung beim compilen , aber sobald ich auf den "submit" button
klicke . erhalte ich:

java.security.AccessControlException: access denied
(java.net.SocketPermission foo.hostname.de resolve)

um dieses offensichtliche misstrauen dass meinem applet entgegengebracht
wird entgegenzuwirken , tat ich folgendes. 1.) ein jar file mit dem applet
als inhalt erzeugt
2.) keystore erzeugt
3.) jar file "gesigned"
4.) policy für meinen keystore ausgestellt
(java.net.SocketPermission resolve, connect , java.awt.AWTPermission
listenToAllAWTEvents)
5.) ein magnum gegessen
6.) jar archiv in die html datei eingebunden
7.) appletviewer -J-Djava.security.policy=meinePolicy
embedApplet.html
8.) mich geärgert als der fehler immer noch da
war !
Hoffe jemand hat ahnung wos hier zwickt .

Alexander


0 new messages