Java Applet: USB Gerät benutzbar?

M

Matthias123

Gast
Hallo zusammen,

ich kenne mich mit Java überhaupt nicht aus und habe nur eine kurze Frage.

Kann man auf einer Website mit einem Java Applet den USB Port ansprechen?
Und zwar ohne, dass der Besucher etwas anderes installieren muss als die normale Java-Umgebung.

Ich glaube zwar nicht, dass das in der Standard-Funktion geht, weil es da wohl sicherheitstechnische Probleme geben würde, aber vielleicht gibt es ja eine Einstellung, die der Besucher in seiner Java-Umgebung machen muss. Damit könnte ich auch noch leben.

Wenn das nämlich nicht möglich ist, erübrigt sich die Suche nach einem Java-Programmierer und ich muss mich nach Alternativen umsehen.

Viele Grüße
Matthias
 
M

Matthias123

Gast
Vielen Dank für die Antwort.

Also heißt das, dass der Besucher sich die .jar dann herunterladen muss und dann ausführen muss?
Ich habe doch von Java keine Ahnung ;)

Also muss der User sich etwas installieren oder sich "nur" das .jar herunterladen?
Mir ist ja das Applet wichtig. Also könnte der Besucher dann auf einer lokalen .html Seite das Applet mit USB Unterstützung ausführen?
 
M

Matthias123

Gast
Und wenn die .jar Dateien auf meinem Web-Server liegen wo auch das Applet liegt, kann der User das dann auch ausführen ohne etwas herunterladen zu müssen?

Java Applet Development - Accesing USB Port from Web Browser through the Java Applet
Da steht, dass es "signed applets" gibt.

Wenn ich das richtig verstehe, dann müsste die USB Funktion doch im Online Applet funktionieren, wenn die .jar Dateien eingebunden werden und das Applet "signed" bzw. "trusted" ist.

Das wäre ja wunderbar.
 

hemeroc

Bekanntes Mitglied
Und wenn die .jar Dateien auf meinem Web-Server liegen wo auch das Applet liegt, kann der User das dann auch ausführen ohne etwas herunterladen zu müssen?

Applets werden immer herungergeladen sie laufen dann auf dem Clientrechner allerdings haben sie andere Berechtigungen als normale Java Programme da sie theoretisch unbemerkt starten könnten.
Das herunterladen von Applets geschieht allerdings automatisch so das der User nichts weiter tun muss.

Wenn ich das richtig verstehe, dann müsste die USB Funktion doch im Online Applet funktionieren, wenn die .jar Dateien eingebunden werden und das Applet "signed" bzw. "trusted" ist.

Es müsste mMn auch funktionieren wenn es nicht signed oder trusted ist. Nachdem der User das bestätigt hat. Kann mich hier aber auch irren.
 

Murray

Top Contributor
Es müsste mMn auch funktionieren wenn es nicht signed oder trusted ist. Nachdem der User das bestätigt hat. Kann mich hier aber auch irren.
Das Applet muss auf jeden Fall signiert sein; erst dann wird der Anwender überhaupt gefragt, ob er dem Applet vertrauen will. Und nur wenn der Anwender das getan hat, wird der SecurityManager den Aufruf von System.load bzw. System.loadLibrary zulassen, ohne den ein JNI-Call nicht möglich ist.
 

hemeroc

Bekanntes Mitglied
Das Applet muss auf jeden Fall signiert sein; erst dann wird der Anwender überhaupt gefragt, ob er dem Applet vertrauen will. Und nur wenn der Anwender das getan hat, wird der SecurityManager den Aufruf von System.load bzw. System.loadLibrary zulassen, ohne den ein JNI-Call nicht möglich ist.

^^ danke wieder was gelernt ich hab noch nie das Vergnügen mit JNI gehabt.
auch wenns ein bissal OOT is gilt das nur für applets oder auch für "normale" Anwendungen?

LG Hemeroc
 
M

Matthias123

Gast
Vielen Dank für die hilfreichen Antworten!

Also scheint Java wirklich hier die Programmiersprache meiner Wahl zu sein.


Auch wenn es jetzt Offtopic ist, habe ich noch eine kleine zusätzliche Frage, da ich dafür nicht extra einen neuen Thread aufmachen möchte:
Kann man in einem Java-Applet mit Werten hantieren, die aus Input-Feldern von der HTML-Seite kommen in die das Applet eingebettet ist? Etwa 200-300 Stück.
Noch besser wäre es natürlich, wenn ich Javascript-Variablen auch direkt im Applet verwenden kann.

Ich möchte jetzt nicht wissen wie es im Detail funktioniert, sondern nur ob es überhaupt funktioniert.

Gruß
Matthias, der sich langsam mal hier anmelden sollte :)
 

Matthias123

Mitglied
Ich habe mich inzwischen im Forum angemeldet und muss diesen Thread nochmal hervorholen.
Denn ich habe es tatsächlich hinbekommen das USB Gerät mit Java anzusprechen.
Vielleicht hat ja mal jemand Ähnliches vor: Das geht mit jPicUsb (Das ist ein Java Nachbau von der mchpusb.dll, die man in C++/# verwendet.) Die Seite ist leider auf spanisch, aber etwas vergleichbar gutes auf deutsch oder englisch habe ich nicht gefunden. jUSB war leider zu alt und zu limitiert.


Aber ich habe noch ein Problem:
Alles funktioniert prima, wenn ich eine vollwertige Java Applikation schreibe.
Ich brauche aber ein Applet. Also habe ich ein Applet gebaut, was für mich als Java Anfänger eine ganz schöne Herausforderung war das alles richtig einzubinden ;). Hat dann auch geklappt. Die .jar Dateien habe ich signiert und die USB Kommunikation funktioniert auch im Applet.
Allerdings nur, wenn ich die jpicusb.dll in C:\Programme\Mozilla Firefox\ ablege. Das ganze soll aber später auf einen Web-Server. Also muss die .dll vom Server geladen werden.
Kann ich im Java-Code oder im Applet-Embed-Code irgendwo festlegen, dass er die .dll Datei vom Server beziehen soll?
Also von dort wo auch die .jar Datei liegt.

Die .dll Datei wird von der jpicusb.jar eingebunden, die ich bei Libraries hinzugefügt habe (siehe Anhang).
Vielleicht muss ich ja beim Hinzufügen der .jar etwas anders machen.

In NewApplet.java importiere ich dann die jPicUsb Klasse. Der Code sieht vereinfacht so aus:
Java:
//NewApplet.java

package USBApplet;
import jPicUsb.*;

import java.applet.Applet;


public class NewApplet extends Applet {

    public void init() {

        try{
            iface.load(); //USB-Klasse wird initialisiert
        }catch(Exception e){
            System.out.println("Error beim Laden der jpicusb.dll.");
            System.out.println(e.getMessage());
            return;
        }

        try {
           byte[] sendData = new byte[2];
           sendData[0] = (byte)200;
           sendData[1] = (byte)1;

           long USBVerbindung = iface.Open(0, "vid_xxxx&pid_xxxx", "\\MCHP_EP1", iface.MP_WRITE, 0);
           long USBWrite = iface.Write(myOutPipe, sendData, 2, 100);
           boolean USBClose = iface.Close(myOutPipe);


        } catch (Exception ex) {
            System.out.println("ERROR:" + ex.getMessage());
        }

    }

}
Mein Applet-Embed-Code sieht so aus:
Code:
<applet archive="USBApplet.jar" code="USBApplet.NewApplet" width=300 height=150></applet>
Im Ordner lib liegt dann die jpicusb.jar Datei.


Wäre wirklich klasse, wenn mir da jemand weiterhelfen könnte.

Gruß
Matthias
 

Anhänge

  • AppletBaum.JPG
    AppletBaum.JPG
    14,6 KB · Aufrufe: 26

L-ectron-X

Gesperrter Benutzer
Dein Applet-Tag sollte so aussehen, damit auch die externe Bibliothek im Classpath bekannt gemacht wird.
HTML:
<applet archive="USBApplet.jar,jpicusb.jar" code="USBApplet.NewApplet" width=300 height=150></applet>
[/QUOTE]
 

Matthias123

Mitglied
Danke für die schnelle Antwort.

Das funktioniert leider nicht.
Ich habe auch schon archive="USBApplet.jar,lib/jpicusb.jar" versucht, aber die .dll Datei kommt in beiden Fällen auch aus C:\Programme\Mozilla Firefox\
 

Matthias123

Mitglied
Hat denn niemand eine Idee?
Es muss doch eine Möglichkeit geben, irgendwo anzugeben, dass er die .dll Datei aus dem .jar Verzeichnis laden soll.
Jetzt bin ich so weit gekommen, das wäre wirklich schade, wenn es jetzt an so einer Kleinigkeit hängt :(

Hat vielleicht das Working Directory unter den Project-Properties etwas damit zu tun?
 

Matthias123

Mitglied
Ich musste eben die .jar Datei dekompilieren, weil der Aufruf ja in der library Datei steckt.

So steht das dort:
Java:
System.load(System.getProperty("user.dir") + System.getProperty("file.separator") + "jpicusb.dll");
Kann ich das user.dir in meiner Applet .jar Datei irgendwie ändern?

Oder ich ändere direkt die library mit den dekompilierten Daten und kompiliere neu. Wie müsste der Aufruf denn korrekterweise heißen bei System.load(), damit die .dll immer aus dem Verzeichnis der .jar Datei geladen wird?
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
S Erste Schritte Java - Applet - Rechteck ständig versetzen Java Basics - Anfänger-Themen 14
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
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
C Java-Applet Fehler "NoClassDefFoundError"? Java Basics - Anfänger-Themen 1
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
J Punkte im Java-Applet verbinden Java Basics - Anfänger-Themen 4
M Java-Applet: Bild einbinden (getImage) Java Basics - Anfänger-Themen 0
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
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
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
W Probleme mit Java Applet Java Basics - Anfänger-Themen 5
E Schach in Java-Applet <No main classes found> Java Basics - Anfänger-Themen 5
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
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
C Java Applet Probleme Java Basics - Anfänger-Themen 4
S Probleme mit Java 3D Tutorial (Applet) Java Basics - Anfänger-Themen 7
T Erste Schritte Java Applet wird nur geladen Java Basics - Anfänger-Themen 3
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2
O Java applet im Internet Java Basics - Anfänger-Themen 6
B Suche kleines Java-Applet Java Basics - Anfänger-Themen 6
D Java Applet in einer .jar datei Java Basics - Anfänger-Themen 2
A Java Datei in Applet umwandeln Java Basics - Anfänger-Themen 4
B Mit Eclipse(java) ein Java Applet im Browser steuern Java Basics - Anfänger-Themen 4
B erstes Java-Applet Java Basics - Anfänger-Themen 7
R Java-Applet ausführbar wie in Konsole Java Basics - Anfänger-Themen 23
N Normales Java Programm in Applet umwandeln Java Basics - Anfänger-Themen 17
M lokale exe-Datei über Java-Applet starten Java Basics - Anfänger-Themen 4
K Java Applet friert Browser ein Java Basics - Anfänger-Themen 12
B Java Applet : Mails über pop3 (?) Java Basics - Anfänger-Themen 2
D Java-Applet in HTML einbinden Java Basics - Anfänger-Themen 9
R java applet zum zeichen zählen Java Basics - Anfänger-Themen 5
J Java Applet XPLUG.JAR / XPLUG.CLASS Java Basics - Anfänger-Themen 4
J IP CAM JAVA Applet portieren Java Basics - Anfänger-Themen 3
S Java Applet - Verbindung zum Eigenen Server Java Basics - Anfänger-Themen 2
JeromeM90 Mein Java Applet zeitverzögern ? Java Basics - Anfänger-Themen 2
D Java Applet startet im Browser nicht Java Basics - Anfänger-Themen 9
S Eclipse Java Applet größe ändern aber wie? Java Basics - Anfänger-Themen 5
F PHP Skript mit Java Applet aufrufen Java Basics - Anfänger-Themen 2
U Daten aus Intranet mit Java-Applet auslesen Java Basics - Anfänger-Themen 10
J Java Applikation aus Applet heraus starten Java Basics - Anfänger-Themen 4
J Zusätzliche jar dateien in Java APplet (hsqldb.jar) Java Basics - Anfänger-Themen 8
C Java-Applet Versuch Java Basics - Anfänger-Themen 12
A java applet Java Basics - Anfänger-Themen 2
G SQL + JAVA + APPLET ? Java Basics - Anfänger-Themen 16
D Java Applet ohne ActiveX im IE ? Java Basics - Anfänger-Themen 15
M Java Applet bild einfügen Java Basics - Anfänger-Themen 6
M java applet für für folgende onlineapplikation sinvoll? Java Basics - Anfänger-Themen 3
B Jar file java applet Java Basics - Anfänger-Themen 12
G Java Applet und Java Application Java Basics - Anfänger-Themen 2
K Inhalte aus einem Java-Applet-Fenster auslesen Java Basics - Anfänger-Themen 2
E Java Applet Seiten wechel frage Java Basics - Anfänger-Themen 15
K Java Programm -> Java Applet. Wie? Java Basics - Anfänger-Themen 2
D java applet - acces denied Java Basics - Anfänger-Themen 6
A Kommunikation Java-Anwendung <-> Java-Applet Java Basics - Anfänger-Themen 24
C Unterschied zwischen, Applet, Java und JavaScript Java Basics - Anfänger-Themen 3
P Java-Applet, Kreis zeichnen Java Basics - Anfänger-Themen 4
J JAVA-Applet Socketzugriff auf anderen Server Java Basics - Anfänger-Themen 3
X Java Applet offline darstellen Java Basics - Anfänger-Themen 8
B Java Applet in Browser Java Basics - Anfänger-Themen 2
L Java Applet/Script wird nicht angezeigt. Java Basics - Anfänger-Themen 3
T Probleme mit einem Java-Applet Java Basics - Anfänger-Themen 17
A java applet mit mehreren dateien Java Basics - Anfänger-Themen 2
I Hilfe beim Java-Applet Beispiel Java Basics - Anfänger-Themen 27
D flash object mit JS definieren.auch für Java Applet? Java Basics - Anfänger-Themen 13
S Problem bei Java Applet (Applet verändert sich nicht) Java Basics - Anfänger-Themen 2
X WWW-link innerhalb java applet einbinden Java Basics - Anfänger-Themen 5
I [Java Applet] - Realisierung Webprojekt Java Basics - Anfänger-Themen 5
B webseite (java applet enthalten) offline ansehen Java Basics - Anfänger-Themen 7
L Java Programm in Applet umwandeln Java Basics - Anfänger-Themen 13
I Java Applet mit Klassen Java Basics - Anfänger-Themen 5
P Wie konvertiert man ein JAVA-Programm (jar) in ein Applet? Java Basics - Anfänger-Themen 4
L Java applet und andere Klassen unauffindbar? Java Basics - Anfänger-Themen 2
G Kommunikation zwischen Applet und Java-Anwendung über TCP/IP Java Basics - Anfänger-Themen 3
G x-,y-position java-applet Java Basics - Anfänger-Themen 2
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37

Ähnliche Java Themen

Neue Themen


Oben