Avatar billede humanoid Nybegynder
23. oktober 2007 - 13:52 Der er 17 kommentarer og
2 løsninger

Serializable class

Jeg roder lige med lidt kommunikation mellem en servlet og en applet.

Hvordan er det man serialisere en klasse ?

Jeg har fundet frem til:
public class MinKlasse implements Serializable
{
}

Men når jeg overfører objektet til min Applet, for jeg fejlen:
java.lang.NullPointerException.

Det sjove er at vis jeg sender en tekststreng i stedet, så modtages den fint.

Er der nogle idéer ?
Avatar billede mikkelbm Nybegynder
23. oktober 2007 - 14:01 #1
Jeg tror ikke det er din serialisering der går galt. Kan vi se koden hvor du sender og modtager?
Avatar billede humanoid Nybegynder
23. oktober 2007 - 14:03 #2
Jeg har lige tjekket lidt nærmere og det viser sig følgende i Java konsolvinduet:
java.lang.NoClassDefFoundError: org/jfree/chart/ChartPanel
    at Applet.RequestChart(Applet.java:78)
    at Applet.init(Applet.java:46)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
basic: Exception: java.lang.NoClassDefFoundError: org/jfree/chart/ChartPanel

Objektet der sendes og modtages er af typen "ChartPanel"

Så er det ikke fordi den ikke kan finde org/jfree/chart/ChartPanel og dermed ikke kender "ChartPanel" ?
Avatar billede mikkelbm Nybegynder
23. oktober 2007 - 14:06 #3
Ja, det er fordi din applet ikke har den klasse + afhængigheder i classpath.
Avatar billede mikkelbm Nybegynder
23. oktober 2007 - 14:07 #4
Jeg ville nok heller ikke vælge at sende en "gui-klasse" over netværk, men kun de nødvendige informationer pakket ind i en wrapper-klasse.
Avatar billede humanoid Nybegynder
23. oktober 2007 - 14:08 #5
hmm det var mærkeligt, for den ligger i (TomCat) WEB-INF/lib......og servleten bruger den også og den virker fint.
Avatar billede humanoid Nybegynder
23. oktober 2007 - 14:09 #6
det kan du ha´ ret i, det bliver nok også lavet om, så det kun er de rå data fra databasen der bliver sendt.
Avatar billede mikkelbm Nybegynder
23. oktober 2007 - 14:10 #7
Ja, men du skal huske at en applet bliver hentet ned på klient-maskinen og kørt derfra.
Avatar billede humanoid Nybegynder
23. oktober 2007 - 14:24 #8
Hva så med sådan noget som det her:

network: Cache entry not found [url: http://localhost:8080/Applet/org/jfree/chart/ChartPanel.class, version: null]
network: Connecting http://localhost:8080/Applet/org/jfree/chart/ChartPanel.class with proxy=DIRECT

som jeg skrev før så ligger jar-filerne i lib, skulle de så ikke være tilgængelige for appletten ?
Avatar billede arne_v Ekspert
23. oktober 2007 - 15:05 #9
Nej.

Hvis din applet sjal bruge JFreeChart skal du pakke din applet i en jar fil
og have et manifest med et Class-Path direktiv til de to JFreeChart jar filer
og saa skal de ligge i samme dir som din jar.

Men ioevrigt har mikkel helt ret. Du kan bruge JFreeChart server side
eller client side, men du boer aldrig have grund til at sende et GUI objekt
mellem server og client.
Avatar billede humanoid Nybegynder
24. oktober 2007 - 13:55 #10
Jeg siger tak til jer begge, kan i ikke lige ligge et svar, så deler jeg pointene mellem jer
Avatar billede mikkelbm Nybegynder
24. oktober 2007 - 14:13 #11
.
Avatar billede arne_v Ekspert
24. oktober 2007 - 15:02 #12
.
Avatar billede humanoid Nybegynder
25. oktober 2007 - 10:09 #13
Jeg kunne ikke være så heldig at i lige havde et eksempel på en MANIFEST.MF fil med et Class-Path direktiv
Avatar billede mikkelbm Nybegynder
25. oktober 2007 - 10:24 #14
Avatar billede mikkelbm Nybegynder
25. oktober 2007 - 10:25 #15
Har du flere jar-filer adskilles de med mellemrum.
Avatar billede humanoid Nybegynder
25. oktober 2007 - 13:49 #16
Men det kræver vel at jeg har jfreechart liggende på clientens computer, gør det ikke ?
Avatar billede mikkelbm Nybegynder
25. oktober 2007 - 14:05 #17
De skulle gerne blive hentet med ned. Som Arne også skriver så skal de ligge i samme mappe (på serveren) som din applet-jar.
Avatar billede humanoid Nybegynder
25. oktober 2007 - 14:24 #18
OK
Avatar billede arne_v Ekspert
25. oktober 2007 - 15:18 #19
http://www.vajhoej.dk/arne/eksperten/jfreechart/ har eksempler paa JFreeChart applets.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester