Toon posts:

[JAVA] .java compiled naar .class werkt niet in browser:(

Pagina: 1
Acties:
  • 230 views sinds 30-01-2008

Verwijderd

Topicstarter
hey mensen,

ik heb een java code gemaakt:

code:
1
2
3
4
5
6
7
8
9
import java.applet.Applet; // importeer Applet class
import java.awt.Graphics; // importeer Graphics class

public class test extends Applet{

 public void paint( Graphics g ) {
    g.drawString( "Hallo, allemaal!", 25, 25 ); // druk de tekst af
    }
}


ik compile deze met <http://www.innovation.ch/java/java_compile.html> naar een .class
Als ik deze .class in mijn browser oproep krijg ik een grijs vlak te zien
html code:
code:
1
2
3
4
5
<html>
<body>
<applet src="test.class" width=500 height=500></applet>
</body>
</html>

In de statusbalk van mijn browser zie ik geen error.
Waarom weergeeft ie mijn applet niet |:( ?

Verwijderd

Ik zeg het niet vaak, maar nu is een keer wel. Want hier zijn echt heel veel draadjes over. Dus gebruik de seacrh even... :)

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Simpel, je allereerste programma moet "hello, world" op het scherm zetten, natuurlijk.
Als je met "Hallo allemaal!" begint, gaat het natuurlijk nooit werken :+

Seriously, de fout zit in de HTML:
code:
1
<applet code="test.class" width=500 height=500></applet>
werkt wel.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

De applet tag is verouderd. in plaats daarvan zou je de embed tag moeten gebruiken.

Bij je SDK zit een handig tooltje: html-converter.bat oid. Daarmee kun je de HTML omzetten.

(p.s. applet zou je eerst even in de appletviewer kunnen testen, dan weet je of het aan je code of aan je applet ligt)

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

@Beus: Thnx! Ik O+ Varda ;)

Ontopic: Ik zie dat de TS zijn voorbeeldcode van 'n site heeft gehaald, en daar staat ook "code" ipv "src". Beter kijken dus B)

[ Voor 12% gewijzigd door kenneth op 27-02-2003 16:46 ]

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

offtopic reactie getrashed

beetje offtopic is natuurlijk niet erg, maar zet er dan op z'n minst nog wat bij wat ook met de thread te maken heeft :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
oke, het werkt nu dus. In mijn applet heb ik een connectie met een irc server. nu geeft mijn Java Console een error.:

code:
1
exeption: java.security.AccesControlExeption: acces denied (java.net.SocketPermission irc.quicknet.nl resolve)


ik neem aan dat java niet wilt connecten met deze server. Omdat hij er geen permissions voor heeft. Maar, de applets van IRc chat kunnen het tog ook??

  • Marcj
  • Registratie: November 2000
  • Laatst online: 09:50
Verwijderd schreef op 27 februari 2003 @ 19:00:
oke, het werkt nu dus. In mijn applet heb ik een connectie met een irc server. nu geeft mijn Java Console een error.:

code:
1
..


ik neem aan dat java niet wilt connecten met deze server. Omdat hij er geen permissions voor heeft. Maar, de applets van IRc chat kunnen het tog ook??
De beveiliging van JVM is zo gebouwd dat een applet alleen maar een verbinding kan maken met de server waar hij vandaan komt. Dus een IRC-client kan dan niet naar een andere server verbinding maken.

[ Voor 10% gewijzigd door Marcj op 27-02-2003 19:02 . Reden: lay-out minder verneukt ;) ]


Verwijderd

Topicstarter
|:( kan dat omzeild worden?

ik heb in java een bouncer gemaakt. die werkt als een soort gateway en zet achter elke regel data de Null Byte ( \0 ) zodat Flash deze data kan zien. Ik wou een flashchat maken die kon connecten met een IRCserver.

weet iemand anders hoe ik dit anders kan oplossen??

  • Marcj
  • Registratie: November 2000
  • Laatst online: 09:50
Verwijderd schreef op 27 February 2003 @ 19:17:
|:( kan dat omzeild worden?

ik heb in java een bouncer gemaakt. die werkt als een soort gateway en zet achter elke regel data de Null Byte ( \0 ) zodat Flash deze data kan zien. Ik wou een flashchat maken die kon connecten met een IRCserver.

weet iemand anders hoe ik dit anders kan oplossen??
Misschien dat het wel werkt als je vanuit een applet met een knopje een (J)Frame kan starten. Misschien dat het dan wel werkt :)

Verwijderd

Topicstarter
je bedoelt een pagina van die irc.quicknet.nl invoegt?? Weet je toevallig ook hoe ik dat kan doen?

Verwijderd

Topicstarter
ik d8 er zelf ook aan, hoe controleerd Java van welke server hij gehaald is. Kan je dit niet vervangen voor irc.quicknet.nl >:)

  • Marcj
  • Registratie: November 2000
  • Laatst online: 09:50
Verwijderd schreef op 27 februari 2003 @ 19:40:
ik d8 er zelf ook aan, hoe controleerd Java van welke server hij gehaald is. Kan je dit niet vervangen voor irc.quicknet.nl >:)
nee, ik denk het niet. Gaat intern.
Maar wat ik bedoel is dat je het programma als een Frame start, ipv een Applet. En deze Frame kun je dan opstarten door een simpel knopje in een Applet, die dan een venster opent.
Maar ik weet ook niet eens zeker of dit wel goed gaat werken.

Verwijderd

Topicstarter
wat bedoel je met Frame? een frame in HTML?? <frame... ??

  • Marcj
  • Registratie: November 2000
  • Laatst online: 09:50
Verwijderd schreef op 27 February 2003 @ 19:57:
wat bedoel je met Frame? een frame in HTML?? <frame... ??
Nee, ik bedoel dat je gewoon een andere class start, die een JFrame oid opent.

http://java.sun.com/docs/...ing/components/frame.html ;)

Verwijderd

Topicstarter
ja oke dat snap ik, Wil je dan die applet van de IRc daarin laden, en via codes de data lospeuteren en die te gebruiken?

  • Marcj
  • Registratie: November 2000
  • Laatst online: 09:50
Verwijderd schreef op 27 februari 2003 @ 20:07:
ja oke dat snap ik, Wil je dan die applet van de IRc daarin laden, en via codes de data lospeuteren en die te gebruiken?
Nou.. euhmm... alle code die je nu in je applet hebt zitten, gewoon los starten in een Frame. Als los programma... niet als applet.

Verwijderd

Topicstarter
oke, en hiermee probeer jij de beveiling te omzeilen?
dit is die code van die frame http://java.sun.com/docs/...mple-1dot4/FrameDemo.java waar kan ik mijn code die ik heb gemaakt plaatsen?

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 18-08 22:57

Gerco

Professional Newbie

Je moet je applet permission laten aanvragen om te connecten met een andere server, kan geloof ik via de Security Manager van de browser JVM. Misschien moet je applet gesigned zijn, maar dat weet ik niet...

Vanuit je applet een JFrame starten om van daar te connecten werkt natuurlijk niet, die Security Manager zit je hele sandbox te bewaken en die frame komt heus wel in dezelfde sandbox als zijn creator (de applet).

Even wat quotes van Fundamentals of Java Security
The SecurityManager allows you to establish a security policy such that you can trust or restrict the operations of a Java program. For instance, browsers come with a default SecurityManager predefined by the browser manufacturer. They prevent applets loaded over the network from reading or writing files from the client file system. They also allow you to only create network connections back to the originating host of the applet. Other restricted operations include classes loaded over the network cannot load libraries or consist of native methods.
Asserting permissions is basically that. Locate the appropriate PermissionID, and assert your right to that privileged operation. For example, if you want to be connected to some random machine on the Internet, you would assert PermissionID.NETIO. Then, an attempt to access a foreign machine other than the web server would succeed, if the class were signed with the appropriate permissions:
Java:
1
2
3
4
PolicyEngine.assertPermission(PermissionID.NETIO);
URL url = new URL ("http://www.magelang.com");
InputStream is = url.openConnection().getInputStream();
is.read();
Signen dus.

[ Voor 102% gewijzigd door Gerco op 27-02-2003 20:40 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Marcj schreef op 27 February 2003 @ 19:02:
[...]

De beveiliging van JVM is zo gebouwd dat een applet alleen maar een verbinding kan maken met de server waar hij vandaan komt. Dus een IRC-client kan dan niet naar een andere server verbinding maken.
uh, dit is niet helemaal waar.
Denk aan een sql driver voor java...
de oplossing: afkijken van de sql driver hoe het daar gedaan word, en een driver schrijven voor je irc verbinding ipv alles in de applet zelf te doen.

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 10:56
Ok, nu dus de echte oplossing:

Stop je classes in een jar file en sign deze. Vervolgens zal er aan de gebruiker gevraagd worden of hij/zij de connect actie toe staat. http://java.sun.com/produ...docs/win32/jarsigner.html

Wat je ook kunt doen is c:\Documents and Settings\<user>\.java.policy editen met de policytool en daar zelf java.net.SocketPermision toe voegen. http://java.sun.com/produ...ocs/win32/policytool.html


Verder mag je overigens wel altijd met de server connecten waar de applet vandaan wordt geserveerd.

--- zie overigens dat Gerco ook al in deze richting wees

[ Voor 21% gewijzigd door Jelmer op 27-02-2003 20:41 ]


Verwijderd

Jelmer schreef op 27 February 2003 @ 20:36:
Ok, nu dus de echte oplossing:

Stop je classes in een jar file en sign deze. Vervolgens zal er aan de gebruiker gevraagd worden of hij/zij de connect actie toe staat. http://java.sun.com/produ...docs/win32/jarsigner.html

Wat je ook kunt doen is c:\Documents and Settings\<user>\.java.policy editen met de policytool en daar zelf java.net.SocketPermision toe voegen. http://java.sun.com/produ...s/solaris/policytool.html
echte oplossing?

het zijn stuk voor stuk goede oplossingen, alleen de ene is alleen wat omslachtiger dan de andere (bijv een eigen driver schrijven.. maarja.. die moet je dus inderdaad ook gaan signen)

edit: spelfout

Verwijderd

Topicstarter
wat is signen dan precies? Is dat dat venstertje waarin die vraagt of de applet mag uitgevoerd worden?

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 10:56
http://java.sun.com/security/signExample/
en hier een voorbeeld van wat je te zien krijgt (meteen het eerste popupje) http://java.sun.com/security/signExample/signedPluginEx.html

Verwijderd

Lamaar mijn foute gezwam omdat IE alleen de topictitel toonde en verder niets

[ Voor 67% gewijzigd door Verwijderd op 27-02-2003 21:15 ]


Verwijderd

Topicstarter
ik krijg daaro nix te zien, wel een error die jullie waarschijnlijk ook zien als jullie niet akkoord gaat met dat gebeuren. Dus als ik die security warning erin bouwt, kan ik connecten met een server die niet op het domein staat als de applet??

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 15-08 20:11
Nee, je moet je applet signen. Dan bouw je zo'n check in, zodat je kunt meedelen dat er iets is fout gegaan. Die check doet dus niets anders dan kijken of je iets mag doen of niet.

  • Marcj
  • Registratie: November 2000
  • Laatst online: 09:50
Oké sorry, bij ons op de opleiding wordt gewoon keihard verteld dat het niet kan. Daarom werken we ook gewoon met Frames, ipv Applets. Maar toch handig dat ik dit weet, kun je ook een MSN-client bouwen :P

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
krozz56 Probeer zelf eens te zoeken en te kijken nav de tips die hier gegeven worden. Het lijkt heel erg op dat je zelf even kijkt, direct je handen in de lucht gooit en je volgende vraag hier stelt.
Probeer eerst eens rustig te zoeken ( bijvoorbeeld naar 'sign applet' op http://search.java.sun.com ) en wat voorbeelden te bekijken. Ga dan deze voorbeelden uitproberen en probeer ze dan na te bouwen binnen je applicatie.

Mocht je er dan toch niet uitkomen, probeer dan duidelijk te formuleren wat je gedaan hebt en wat er niet werkt. Dan kunnen we je beter helpen :)

Verwijderd

Topicstarter
oke, dan ga ik eens zoeken hoe ik die applet sign :7

Verwijderd

Topicstarter
kan iemand mij helpen. Ik vind er niet egt veel over :(...

Verwijderd

Verwijderd schreef op 28 February 2003 @ 18:30:
kan iemand mij helpen. Ik vind er niet egt veel over :(...
Sorry hoor, maar kun je nou écht niet lezen?
Die post van Glimi (2 posts naar boven) spreekt toch voor zich of niet?
Dus: wat heb je geprobeerd, wat lukte niet, etc etc.

Verwijderd

Topicstarter
ik snap niet hoe je een applet moet signen.

  • NDF82
  • Registratie: Januari 2002
  • Laatst online: 13-08 17:12

NDF82

Doomed Space Marine

eerste hit op java.sun.com :/
http://java.sun.com/security/signExample/

Pentium 233MHz MMX + Diamond Monster 3D 3DFX Voodoo II


Verwijderd

Topicstarter
:(. Ik snap er de helft ook niet van. kan iemand mij een beetje op weg helpen?

Greetzz Jeffrey.

krozz56@hotmail.com , vergoeding mogelijk

Verwijderd

Topicstarter
Marcj, kan jij anders zown frampje maken, en er de volgende code inzetten?:
code:
1
 smtpSockets = new Socket("irc.quicknet.nl", 6667);

en kijken oftie werkt? alstie dan werkt >:) .....

Verwijderd

Is het dan écht niet duidelijk waarvoor het Programming & Webscripting forum is? Dat is geen developer-afdeling die voor jou even overuren gaat draaien om iets voor je te maken.

Nee, JIJ komt met een probleem, en het is de bedoeling dat JIJ gaat snappen hoe het nou precies zit. Je bent nu bezig om veel moeite te steken in het voorkomen dat je zelf moeite moet doen, zo lijkt het. Waarom zoek je niet eens gewoon iets op als je ergens nog niet van gehoord hebt? :)

Snap je dat je op deze manier gewoon verkeerd bezig bent? Programmeren is grotendeels ook documentatie lezen en proberen. En het blijkt niet erg uit je reacties dat je één van beiden hebt gedaan.

  • Jaymz
  • Registratie: Januari 2000
  • Laatst online: 23-08 22:11

Jaymz

Keep on moving !

Cheatah said it al :)

[ Voor 5% gewijzigd door Jaymz op 02-03-2003 00:43 ]

Pagina: 1

Dit topic is gesloten.