Applet - Daten ausgeben - Fehler

Status
Nicht offen für weitere Antworten.

Alien

Mitglied
Servus,

ich bin im Moment dabei mich mit Applets auseinanderzusetzen. Allerdings bekomme ich nun massenweise Fehler und weiß nicht, wie ich diese zu beheben habe. Hat glaube ich irgendwas mit Zugriffsrechten zu tun.

Folgende Situation
- habe eine index.html, die den Code ausführt.
- habe eine Test.class
- TextField und TextArea
- sendeButton

Klicke ich auf senden, so werden diese Fehler ausgegeben. Ich versuche diese Eingaben in eine chat.data zu schreiben. Aus dieser besagten Datei, will ich mir später mit einem anderen Javaprogramm eine HTML-Seite basteln. Naja... ist auch erst mal egal.. diese Fehler müssen erst mal behoben werden.

Codes und Fehler sind unten zu sehen. Würde mich freuen, wenn mir jemand helfen kann.

M.f.G.
Michael

Code:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class Test extends Applet
{
	private TextField tName = new TextField("", 20);
	private TextArea tText = new TextArea(5, 20);
	public void init()
	{
		setSize(250, 200);
		setLayout(new FlowLayout(FlowLayout.RIGHT, 2, 2));
		setBackground(new Color(18, 52, 86));
		setForeground(new Color(00, 00, 00));
				
		Label lName = new Label("Name");
		Label lText = new Label("Message");;
		add(lName);
		add(tName);
		add(lText);
		add(tText);
		
		Button bSenden = new Button("Senden");
		add(bSenden);
		bSenden.addActionListener(Senden());
	}
	public void start()
	{
	}
	public void stop()
	{
	}
	public void paint(Graphics g)
	{			
	}
	
	public void update(Graphics g)
	{
		
	}
	public void destroy()
	{
	}
	protected ActionListener Senden()
	{
		ActionListener a = new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				writeChat("chat.data");
			}
		};
		return a;
	}
	protected void writeChat(String file)
	{
			try
			{
				PrintStream out = new PrintStream(new FileOutputStream(file, true));
				out.println(tName.getText() + ":" + tText.getText());
			}
			catch(IOException ioe)
			{
				//Fehler
			}
						
	}
}

Code:
<html>
 <head>
 </head>
 <body bgcolor="123456" alink="ffffff" vlink="ffffff" alink="ffffff" text="ffffff" >
  <applet code="Test.class" width="250" height="200">
  </applet>
 </body>
</html>

Code:
Exception in thread "AWT-EventQueue-1" java.security.AccessControlException: access denied (java.io.FilePermission chat.data write)
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
        at java.security.AccessController.checkPermission(AccessController.java:427)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
        at java.lang.SecurityManager.checkWrite(SecurityManager.java:962)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:169)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
        at Test.writeChat(Test.java:60)
        at Test$1.actionPerformed(Test.java:51)
        at java.awt.Button.processActionEvent(Button.java:388)
        at java.awt.Button.processEvent(Button.java:356)
        at java.awt.Component.dispatchEventImpl(Component.java:3984)
        at java.awt.Component.dispatchEvent(Component.java:3819)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
 

0x7F800000

Top Contributor
-habe eine index.html, die den Code ausführt.
großes Fragezeichen :?: ???:L

Code:
PrintStream out = new PrintStream(new FileOutputStream(file, true));
überleg doch mal was du hier dem programm befielst: scheinbar willst du, dass das applet auf dem client rechner irgendeine datei anlegt und dort irgendetwas reinschreibt. Zum einen sind solche massive eingriffe für nicht signierte applets verboten, zum anderen macht es keinen sinn, falls dein "chat" der kommunikation zwischen mehreren leuten dienen soll. (was bringt wenn jeder irgendetwas auf seinem eigenen rechner abspeichert?)

Für das was du vorhast bräuchtest du irgendetwas serverseitiges. Servlet/JSP/PHP-Skript/Perl-Skript oder irgendsowas in der art.

Und ich würde gerne noch eine allgemeine bemerkung loswerden:
Senden()-methode sieht irgendwie sehr bescheuert aus. Fängt schon damit an, dass es eine großgeschriebene Methode ist. Zudem wird sie nur ein einziges mal im konstruktor verwendet, was noch merkwürdiger ist. Warum schmeißt du die beiden überflüssigen methoden "Senden" und "writeChat" nicht raus, und fügst den code an der stelle ein, wo er sinn macht, und sinngemäß hingehört?

Und entscheide dich mal für eine sprache. Nämlich englisch.
 

Alien

Mitglied
Entschuldigung, dass der Code so merkwürdig / kaotisch aussieht und ich mich so komisch ausgedrückt habe. Mir ist bewusst, dass man Methoden klein schreibt und das man sich für eine Sprache entscheiden muss. In dem Fall war es mir egal. (Das ist nicht meine Einstellung, wenn ich weiß, was ich zu tun habe. Dann ist selbstverständlich jedes Wort Englisch und Methoden klein!) Mir geht es erstmal nur ums Prinzip. Ohne Verständnis kann ich keinen Chat oder derartiges basteln. Dafür habe ich noch nicht die Erfahrung, aber ich habe eine Idee. Ob diese so Umsetzbar ist, scheinbar nicht. Anfangs wollte ich lediglich testen, für was die Methoden init(), start(), stop(),.. sind. Ich habe ganz einfach "noch" nicht diese Skills, um das umzusetzen. Deswegen habe ich mich auch hier gemeldet und euch um Rat gebeten.

Ich versuche jetzt nochmal das Problem zu schildern. Hoffe ihr versteht dann, was ich will. Ich habe bei mir zu Hause im Netzwerk einen HTTP-Server laufen. Unter http://"IP-Adresse"/test kann ich diese index.html mit der Test.class aufrufen. Ich habe das Applet via CMD "appletviewer http://"IP-Adresse"/test" ausgeführt. Bei dem PrintStream weiß ich, dass er eine Datei im selben Ordner erstellen kann, wo sich die .class Datei befindet. Ich habe bisher Programme mit der main()-Methode ausgeführt. Ein Applet ist für mich Neuland. Ich habe mit dem PrintStream schon diverse Dateien erstellt. Diese waren immer in dem selben Ordner, wo die main()-Methode gewesen ist. Und jetzt hatte ich die Vermutung, wenn sich die .class auf dem Server befindet, dort im selben Ordner eine weitere Datei erstellen lässt. Aber das geht anscheinend nicht mit dem PrintStream.

Jetzt habe ich immer noch nicht erklärt, warum ich eine Datei erstellen will. Vielleicht brauch ich auch keine zu erstellen.

Meine Vorstellung, wie das Programm ablaufen soll/te
1. Benutzer gibt Name und Text ein
2. Benutzer drückt Sendentaste
3. Inhalt wird mit xxx.getText() zurückgeliefert und mit PrintStream in eine Datei (z.B. x.data) auf HTTP-Server geschrieben
- Inhalt der x.data ist wie folgt aufgebaut => Name:Text
- Nach jedem weiteren Senden von Name und Text wird die x.data um eine Zeile erweitert
4. Mit BufferedReader soll x.data eingelesen werden.
- Mit indexOf() und substring() soll der Name vor dem : und der Text nach dem : ermittelt werden
- Daten sollen in Array gespeichert werden
5. Mit PrintStream wird eine .html Datei erstellt

Ist das mit einem Applet umsetzbar? Wenn ja, wie und wenn nein, könnt ihr mir alternative Lösungvorschläge geben.
Klar, ich könnte eine Datenbank benutzen und diese Daten dort speichern, aber ich möchte es erstmal ohne probieren, da ich nocht nicht weiß, wie es funktioniert. Deshalb will ich eine Datei erstellen, wo der Name und der Text geschrieben steht und ich diese zu jeder Zeit abrufen kann.

Logisch, JSP, PHP-Skript, .. sind Möglichkeiten.

M.f.G.
Michael

PS: hoffe, es ist verständlich asugedrückt
 

L-ectron-X

Gesperrter Benutzer
Damit dein Applet auf das lokale System schreiben darf musst du es signieren. :arrow: FAQ
Aber damit ist dein Problem nicht gelöst. Das Applet schreibt nach der Signierung sicher den gewünschten Text in eine erzeugte HTML-Datei. Aber auch nur den Text, der in dein Applet, also auf deinem Rechner eingegeben wurde. Die anderen, mit denen du chatten möchtest, schreiben mit dem Applet auf ihre eigenen Rechner. Das heißt, dass die eingegebenen Texte niemals zusammengführt werden.
Du musst also zusätzlich einen Server schreiben, bei dem sich die heruntergeladenen Applet-Instanzen anmelden und ihm ihre Texte übermitteln.Der Server sendet dann die empfangenen Texte an alle angemeldeteten Applet-Instanzen, die ihrerseits den empfangenen Text in einer Text-Komponente auf dem Bildschirm ausgeben.
Der PrintStream, der eine HTML-Datei erzeugen soll, ist damit hinfällig.
In der FAQ findest du auch eine Anleitung zum Schreiben eines Chats.
 

Alien

Mitglied
Ok, danke! Gut zu wissen, dass ich auf einem falschen Weg gewesen bin.

Werde, falls ich nochmals Probleme haben sollte, mich wieder hier melden.

M.f.G.
Michael
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Daten von Applet an Website Java Basics - Anfänger-Themen 4
O (von Applet) daten an Server übergeben Java Basics - Anfänger-Themen 4
A unsigniertes Applet liesst die Daten ab Java Basics - Anfänger-Themen 12
P Applet, Daten IO, MySql Java Basics - Anfänger-Themen 2
U Daten aus Intranet mit Java-Applet auslesen Java Basics - Anfänger-Themen 10
M Applet sendet daten an servlet und servlet wieder an applet Java Basics - Anfänger-Themen 5
M Java-Applet zur Mittelwertberechnung Java Basics - Anfänger-Themen 3
D Java Applet wird nicht im Browser angezeigt Java Basics - Anfänger-Themen 6
M bestehendes Projekt als Applet speichern Java Basics - Anfänger-Themen 2
S Erste Schritte Java - Applet - Rechteck ständig versetzen Java Basics - Anfänger-Themen 14
A Applet Plot für atan erstellen Java Basics - Anfänger-Themen 1
S Erste Schritte Java Applet lässt sich im Browser nicht öffnen Java Basics - Anfänger-Themen 9
K JDK installieren displays java applet für MAC Java Basics - Anfänger-Themen 10
S Zeichen von abgerundeten Rechtecken auf einem Applet Java Basics - Anfänger-Themen 5
J Einfache einbindung eines Bildes in ein Applet Java Basics - Anfänger-Themen 4
S Klassen Applet extern aufrufen Java Basics - Anfänger-Themen 1
J Erstes Applet läßt sich nicht anzeigen Java Basics - Anfänger-Themen 2
C Applet Probleme Java Basics - Anfänger-Themen 1
A Compiler-Fehler Problem beim einbinden der applet Klasse Java Basics - Anfänger-Themen 2
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
G Applet in ein JSP einbinden Java Basics - Anfänger-Themen 1
C Java-Applet Fehler "NoClassDefFoundError"? Java Basics - Anfänger-Themen 1
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
C Kalender in Applet einfügen Java Basics - Anfänger-Themen 0
J JavaScript findet Applet Methode nicht Java Basics - Anfänger-Themen 2
J Punkte im Java-Applet verbinden Java Basics - Anfänger-Themen 4
D Bild im Applet anzeigen Java Basics - Anfänger-Themen 3
V Text aus einer .txt dynamisch ins applet einpassen Java Basics - Anfänger-Themen 0
K Applet funz. im Browser nicht Java Basics - Anfänger-Themen 11
M Java-Applet: Bild einbinden (getImage) Java Basics - Anfänger-Themen 0
thet1983 Erste Schritte <param> Tag in Applet Java Basics - Anfänger-Themen 4
F Swing Applet: mehrere Komponenten hinzufügen Java Basics - Anfänger-Themen 1
F Platzieren von Komponenten in Swing Applet funktioniert nicht Java Basics - Anfänger-Themen 3
G Signiertes Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 1
Y Applet: Verschlüsselung Java Basics - Anfänger-Themen 3
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
F signiertes Applet fkt. nicht bei lokalem Aufruf Java Basics - Anfänger-Themen 2
K Frage zu Applet Java Basics - Anfänger-Themen 3
V While Schleife für ganzes Applet Java Basics - Anfänger-Themen 6
P Applet Histogramm Java Basics - Anfänger-Themen 6
H 27 Kreise Zeichnen Java Applet Java Basics - Anfänger-Themen 2
G Java Applet aus Eclipse heraus testen? Java Basics - Anfänger-Themen 6
S Applet findet Klasse nicht Java Basics - Anfänger-Themen 7
R Java Applet mit Mausklick ansprechen Java Basics - Anfänger-Themen 3
C Java Applet in html. Pong - old school Spiel Java Basics - Anfänger-Themen 10
S Applet-Objekt ist vor dem Hintergrund Java Basics - Anfänger-Themen 11
F Problem mit Applet Java Basics - Anfänger-Themen 5
A Applet mit Object-Tags einbinden. Java Basics - Anfänger-Themen 3
S Erste Schritte Fenster wechsel im Applet Java Basics - Anfänger-Themen 7
S Applet Deployment Java Basics - Anfänger-Themen 2
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
H Applet - main()-Methode Java Basics - Anfänger-Themen 4
K Applet wird nicht im Browser und Appletviewer angezeigt Java Basics - Anfänger-Themen 5
L Applet : keine Recht für Zugriff auf Clipboard (trotz Zertifikat) Java Basics - Anfänger-Themen 4
N Erste Schritte Applet zeichnet Bild nicht Java Basics - Anfänger-Themen 10
H Klassen in Eclipse stellt es im Ausgabe-Applet nicht dar Java Basics - Anfänger-Themen 5
L Applet soll Html-File öffnen Java Basics - Anfänger-Themen 2
L NetBeans Applet in html Java Basics - Anfänger-Themen 4
Dogge Start:Applet nicht Initialisiert Java Basics - Anfänger-Themen 11
D Applet beenden Java Basics - Anfänger-Themen 7
Dogge Problem mit paint(Graphics g) im Applet Java Basics - Anfänger-Themen 13
M RSA Applet ohne Cipher Java Basics - Anfänger-Themen 15
B String verschlüsseln - Applet - ohne BASE64 Java Basics - Anfänger-Themen 7
S Methode in Applet starten Java Basics - Anfänger-Themen 2
M AWT Applet - Button aus anderer Klasse abfragen Java Basics - Anfänger-Themen 4
W Probleme mit Java Applet Java Basics - Anfänger-Themen 5
M Applet kann in Browser nicht ausgeführt werden Java Basics - Anfänger-Themen 4
L Applet: Laden unterbricht den Browserfokus (scrollen) Java Basics - Anfänger-Themen 2
Z Applet startet nicht bei Domain mit Umlaut Java Basics - Anfänger-Themen 2
B Externe Libraries fuer Applet ... Pfad eingeben? Java Basics - Anfänger-Themen 23
Helgon ClassNotFound Applet Java Basics - Anfänger-Themen 6
U Applet Signiert und trotzdem Fehlermeldung Java Basics - Anfänger-Themen 18
E Schach in Java-Applet <No main classes found> Java Basics - Anfänger-Themen 5
S Applet Java Basics - Anfänger-Themen 2
S [Applet] Objekte von init bei paint benutzen Java Basics - Anfänger-Themen 9
E Applet wird nicht angezeigt Java Basics - Anfänger-Themen 11
P Problem- Java Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 9
B Applet - Laden eines Java-Fensters bricht ab Java Basics - Anfänger-Themen 6
N Import Problem, Applet will nicht Java Basics - Anfänger-Themen 6
M Applet Eclipse Vollbild Java Basics - Anfänger-Themen 3
K Befehl per Shell an Java-Applet JAR übergeben Java Basics - Anfänger-Themen 16
I Java Applet Java Basics - Anfänger-Themen 8
D Java Applet Dateien auf Server auslesen? Java Basics - Anfänger-Themen 8
L Referenced Libraries korrekt in Java Applet einbinden.. Java Basics - Anfänger-Themen 2
KBJ Java Applet Gästebuch Java Basics - Anfänger-Themen 12
T Java Applet braucht mehrere Minuten zu Start Java Basics - Anfänger-Themen 5
U Applet wird nicht angezeigt Java Basics - Anfänger-Themen 2
J J-Applet, Frage Java Basics - Anfänger-Themen 19
J Applet farblich gestalten Java Basics - Anfänger-Themen 5
M Applet lokaler Festplattenzugriff Java Basics - Anfänger-Themen 25
X Applet - Client/Server Java Basics - Anfänger-Themen 2
M Applet ist nur graues Feld Java Basics - Anfänger-Themen 12
O webserver für Applet und php Java Basics - Anfänger-Themen 7
J Fehlermeldung: Applet nicht initialisiert Java Basics - Anfänger-Themen 24
C Java Applet Probleme Java Basics - Anfänger-Themen 4
S Probleme mit Java 3D Tutorial (Applet) Java Basics - Anfänger-Themen 7
S Input/Output Problem mit dateizugriff innerhalb der .jar (Applet) Java Basics - Anfänger-Themen 2
M Applet + BilderDownload Java Basics - Anfänger-Themen 36
O Applet Wetterticker Java Basics - Anfänger-Themen 17
W KeyListener auf Applet mit Runnable Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben