Portal > Foren > Java > Desktop-Applikationen und Grafik > Policy Datei für Applet konfigurieren
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 25.06.2005, 23:33 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 25.06.2005
Beiträge: 8
Standard Policy Datei für Applet konfigurieren

Hallo,

ich hab ein Problem, der mir schon auf die Nerven geht, weil ich nirgendwo im Google eine normale Erklärung finde, wie ich die Rechte für mein Applet geben kann.
Mein Applet muss ein Port öffnen und befehle schicken. Dazu weiss ich auch nicht welches "Permissions" ich benutzen muss, wahrscheinlich "java.net.NetPermission", aber da bin ich nicht sicher.

Ich möchte versuchen für alle Permissions, alle Rechte an meinem Applet zu geben, damit mein Applet funktioniert. Die JAR-Datei und der Sertifikat habe ich schon erstellt und signiert!
Z.B. mein Applet und alles liegt in C:jdk1.4/bin/Applet.jar
Wie kann ich in der Policy datei das alles konfigurieren?

Wenn mir jemand helfen kann, werde ich sehr dankbar sein!
bobcho ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 01:37 Nach oben    #2
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
Standard

Hallo Bobcho!

Also zuerst mal eine Frage vorweg.
Du hast das Applet ja auf deinem lokalen PC. Ist das nur zu Testzwecken?

Wofür muss das Applet denn einen Port öffnen, und vor allen Dingen wohin?

Gruß
Sparrow
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 11:19 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 25.06.2005
Beiträge: 8
Standard

Hallo,

also, ich teste mein Applet zuerst zuhause auf meinen privaten PC.
Sonst mache ich der Applet für mein Institut an der Uni. Dort muss durch die Webseite ein Versuchstand gesteuert werden!

Ich werde mich freuen wenn du mir helfen kannst, denn ich weis nicht wie ich die Policy datei konfigurieren kann und wie kann ich Sie an meinem Applet einbinden?
bobcho ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 11:25 Nach oben    #4
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
Standard

Ok. Mit der Policy-Datei schau ich mir heute Abend an.
Habe schon verschiedene Applets signiert.

ABER!
Bist du dir sichre, dass du ein Applet brauchst und, dass keine "normale" Java-Applikation reicht?

Bist du dir im Klaren darüber, dass Applets auf dem Client ausgeführt werden und nicht auf dem Server?

Daher versteh ich nämlich gerade nicht warum es ein Applet sein muss...
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 19:15 Nach oben    #5
Neuer Benutzer
 
Registriert seit: 25.06.2005
Beiträge: 8
Standard

Auf jeden fall brauche ich Applet und keine Application. Denn die Steuerung muss durch die Webseite stattfunden.
Wie meinst du, dass Applets auf dem Client ausgeführt werden. Wird der Appler funktionieren, wenn ich es auf dem Server speichere und an der Webseite anbinde?

Ich kann dir das Applet und alles per mail schicken!
Ich benutze IBM Comm API zum Öffnen des seriellen Ports.
bobcho ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 19:53 Nach oben    #6
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
Standard

Würde es dir etwas ausmachen mir etwas näher zu beschreiben was du vor hast?

Wenn du die Api anbindest, und entsprechend autorisierst, kannst du aber nur auf die Ports des Clients zugreifen, nicht auf die Ports des Servers!

Gruß
Sparrow
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 21:10 Nach oben    #7
Neuer Benutzer
 
Registriert seit: 25.06.2005
Beiträge: 8
Standard

Wie ich dir gesagt habe muss mein Applet ein Versuchstand steuern. D.h. es gibt eine Rellais, an der ich befehl auf dem Port "COM1" für Ein-/Ausschalten schicke. Und danach muss ich auf Port "COM2" noch befehle für dem Stromversorger schicken, damit ich die Spannung für den Motor steuere.

Das ist nicht mein Applet, weil die Quellcode gross ist, aber die Funktionen zum öffnen des Ports schtecken drinnen und wenn das funktioniert, dann wir auch mein Applet funktionieren

Es gibt mir fehlermeldung: javax.comm.NoSuchPortException

Code:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;

import java.awt.event.ActionEvent;
import javax.comm.NoSuchPortException;
import javax.comm.CommPortIdentifier;
import javax.comm.SerialPort;
import java.awt.Container;
import javax.swing.JButton;
import javax.comm.PortInUseException;
import java.io.InputStream;
import java.io.IOException;
import javax.swing.JTextField;
import java.util.Enumeration;
import java.io.OutputStream;
import javax.comm.UnsupportedCommOperationException;
import javax.swing.JApplet;



public class WriteApplet extends JApplet {
    private JTextField datei, inhalt, res;
    public void init() {
        Container c = getContentPane();
        JPanel pan = new JPanel();
        pan.add(new JLabel("Dateiname", JLabel.RIGHT));
        pan.add(datei = new JTextField(15));
        pan.add(new JLabel("Inhalt", JLabel.RIGHT));
        pan.add(inhalt = new JTextField(15));
        JButton but;
        pan.add(but = new JButton("Speichern"));
        c.add(pan, BorderLayout.CENTER);
        pan = new JPanel();
        pan.add(new JLabel("Resultat", JLabel.RIGHT));
        pan.add(res = new JTextField(50));
        c.add(pan, BorderLayout.SOUTH);
        but.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                res.setText("");
                try {
                        // SerialPort Instanzen
            String comando="";
            Enumeration portList=null;
            CommPortIdentifier portId=null;
            SerialPort serialPort=null;
            OutputStream outputStream=null;
            InputStream inputStream=null;


          try{ // Port öffnen
            portId = CommPortIdentifier.getPortIdentifier("COM1");



               } catch(NoSuchPortException nspe){System.err.println(nspe);}
          try { // Serial Port öffnen
            serialPort = (SerialPort) portId.open("Teste", 2000);




               } catch (PortInUseException piue) {System.err.println(piue);}
          try { // Eingabe-/Ausgabestreams öffnen
            outputStream = serialPort.getOutputStream();
            inputStream = serialPort.getInputStream();



               } catch (IOException ioe) {System.err.println(ioe);}
          try { // Port Parameters
            serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);


        } catch (UnsupportedCommOperationException ucoe) {System.err.println(ucoe);}
          try { // Schicke das Befehl
           //   outputStream.write(comando.getBytes());
           
              outputStream.close();
              inputStream.close();



               } catch (IOException ioex) {System.err.println(ioex);}

                } catch (Exception ex) {
                    res.setText(ex.toString());
                }
            }
        });
    }
}
bobcho ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 22:31 Nach oben    #8
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
Standard

Boah... gibts die comm-API für Linux auch irgendwo zum runterladen wo ich sie finde?
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 22:40 Nach oben    #9
Neuer Benutzer
 
Registriert seit: 25.06.2005
Beiträge: 8
Standard

Von hier habe ich die IBM Comm API herintergeladet
http://public.planetmirror.com/pub/j...m/1.3.0/win32/
ibm-javacomm-win32-x86.zip

Ich glaube Java ist Platformunabhängig oder?
bobcho ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 23:07 Nach oben    #10
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
Standard

Natürlich ist Java Plattformunabhängig... es sei denn man verwendet etwas, dass nicht teil des Java-Pakets ist.
So zum Beispiel Betriebssystemspezifische Zusätze.
Das ansprechen der Com-Ports ist Betriebssystemabhängig. So hat man zwar die Möglichkeit den selben Code auf verschiedenen Betriebssystemem auszuführen, muss aber unter Umständen erst die Grundlagen schaffen (zusätzliche Module für die Laufzeitumgebung...) oder Betriebssystemspezifische Klassen nachladen.
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 23:38 Nach oben    #11
Neuer Benutzer
 
Registriert seit: 25.06.2005
Beiträge: 8
Standard

Hallo
Hier wird schon etwas gezeigt wie mann die Rechte an einem Applet ügergibt, aber trotzdem klappt es noch nicht.
http://forum.java.sun.com/thread.jsp...hreadID=409341

Woran könnte das Problem liegen?

Danke, dass du mir hilfst !
bobcho ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 23:42 Nach oben    #12
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
Standard

Ich bin noch dabei das Ding unter Linux zu intallieren... aber vielleicht sind die Rechte nicht das Problem... sondern deine comm-Api? Ich bin mir nicht sicher ob das der Fehler ist, aber die ist für Java 1.3 und ich glaube damit arbeitest du nicht, oder?

EDIT:
Trotz einigem rumprobieren komme ich nicht weiter.
Bei mir kommt in der Zeile:
PHP-Code:
portId CommPortIdentifier.getPortIdentifier("COM1"); 
immer der folgende Fehler:
Code:
java.lang.UnsatisfiedLinkError: no ibmcomm in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
	at java.lang.Runtime.loadLibrary0(Runtime.java:822)
	at java.lang.System.loadLibrary(System.java:992)
	at com.ibm.comm.NSCommDriver.<clinit>(NSCommDriver.java:28)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:164)
	at javax.comm.CommPortIdentifier.<clinit>(CommPortIdentifier.java:681)
	at TestApplet$1.actionPerformed(TestApplet.java:53)
Wobei ich die Datei in TestApplet.java (bzw .class) umbenannt habe.

Bitte weas meint er mit ibmcomm nicht im library-Pfad?
Ich habe die entsprende Jar (comm.jar) bei Eclipse mit eingebunden. Die Importe werden auch aufgelöst, also wird die .jar als Bbliothek erkannt und verwendet.

Gruß
Sparrow
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.06.2005, 09:20 Nach oben    #13
Neuer Benutzer
 
Registriert seit: 25.06.2005
Beiträge: 8
Standard

Hallo Sparrow,

ich freue mich sehr, dass du mir so vie hilfst!

Du musst die "IBM Comm API" herunterladen und etsprächend die Dateien in den JDK anlegen. Danach musst du die Datei Comm.jar in der verwendeten Bibliothek in Eclipse einbinden.

Von hier kannst du die IBM Comm API heruntergeladet
http://public.planetmirror.com/pub/...bm/1.3.0/win32/
ibm-javacomm-win32-x86.zip

javax.comm.properties -> jdk1.4/jre/lib
comm.jar -> ../jre/lib/ext
ibmcomm.dll -> jdk1.4/jre/bin

Gruss
Borislav
bobcho ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.06.2005, 21:21 Nach oben    #14
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
Standard

Soooo,

also bei mir kommt als "Fehler" eine "Port in Use" Exception.
Das deutet nicht auf eine Sicherheitsverletzung hin.

Die "NoSuchPort"-Exception kommt wenn ich COM5 angebe. Den gibts bei mir auch nicht. Da hat er also Recht.

Hast du diesen Code schonmal in einer Applikation benutzt und geschaut ob es da geht?

Gruß
Sparrow
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.06.2005, 21:59 Nach oben    #15
Neuer Benutzer
 
Registriert seit: 25.06.2005
Beiträge: 8
Standard

Wenn ich mein Applet mit JBuilder starte, dann funktioniert bei mir.
Aber wenn ich es mit einem Browser starte, dann gibt es mir diese
Fehlermeldung: NoSuchPort
Ich hab nur COM1 als Port am PC.

Naja ich hab mir noch ein Buch für Java Security ausgeliehen, aber mal sehen was ich herausfinden kann. Ich weiss nicht woran mein Problem liegt.

Gruss
Borislav
bobcho ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mit Applet Datei per ftp uploaden Tago Desktop-Applikationen und Grafik 3 09.09.2005 18:17
Applet html datei vom eigenen Server in JEditorPane laden milanwb Desktop-Applikationen und Grafik 1 14.06.2005 14:01
Applet, Datei aus selben Verzeichnis lesen Gottzilla Desktop-Applikationen und Grafik 32 13.05.2005 12:42
Textausgabe in Datei obiwankenobi Allgemeine Java-Programmierung 2 09.05.2005 12:51
2 Applet miteinander kommunizieren mr.no Allgemeine Java-Programmierung 3 23.11.2004 20:47


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45