javacode durch Html ausfuehren

dany

Mitglied
Halli, hallo,

Ich moechte gerne eine kleine remote-app schreiben,
die moeglichst SIMPEL und klein ist und plattformunabhaengig ist.

Daher habe ich mir folgendes ueberlegt:

Den remote-server als Java-servlet (im Glassfish)

und

den Remote-client als Html5.

Folgenden Code habe ich schon zusammen:

HTML:
index.html

<form>
  <button name="ALT+CTRL+L" action="http://localhost:8080/TestRobotKeys">
  Desktop sperren</button>
</form>

und:
Java:
TestRobotKeys.java

import java.awt.Robot;
import java.awt.*;
import java.awt.event.KeyEvent;

public class TestRobotKeys {

    private Robot robot;

    public static void main(String[] args) {
        new TestRobotKeys();
    }

    public TestRobotKeys() {
        try {
            robot = new Robot();
            robot.keyPress(KeyEvent.VK_ALT);
            robot.keyPress(KeyEvent.VK_CONTROL);
            robot.keyPress(KeyEvent.VK_L);
            
        } catch (AWTException ex) {
            ex.printStackTrace();
        }
    }

}

Wie kann ich den Javacode per Button ausfuehren lassen?

Vielleicht kann mir jemand helfen dies zum laufen zu bringen?

Mfg dan

(Und vielleicht geht das auch ohne awt, halt so einfach wie moeglich, damit das auch ein Java-Anfaenger wie ich versteht:))
 
Zuletzt bearbeitet:

anti-held

Bekanntes Mitglied
Wie du schon geschrieben hast, musst du dir ein Java Servlet erstellen.
Dieses soll dann bei GET Aufrufen das html zurückgeben und bei POST Aufrufen den von dir gezeigten Code ausführen.

Hierzu solltest du dir vill Tutorials für Servlets ansehen.
 

stg

Top Contributor
@dany
HTML-Formulare werden standardmäßig als HTTP-GET-request an den Server gesendet. Wenn du einen HTTP-POST absetzen willst, dann musst du das explizit angeben

<form action="...." method="post" target="....">

Das sind aber HTML/HTTP-Grundlagen und geht an deiner eigentlichen Frage vermutlich vorbei. Anti-Held hat schon Servlets angesprochen. Diese sind Grundlagen für alles Weitere, wenn du HTTP-request serverseitig verarbeiten willst.

Vielleicht kommunizierst du noch einmal etwas genauer, was du tatsächlich genau vorhast... HTML/HTTP-Grundlagen sollten aber schon vorhanden sein, sonst ist das hier (zunächst noch) das falsche Forum.


Falls du jedenfalls wirklich vorhaben solltest Client-seitig den Desktop zu sperren, dann vergiss dein Vorhaben. Das wird durch Server-seitig laufenden Java-Code niemals funktionieren.
 
Zuletzt bearbeitet:

dany

Mitglied
Hallo, hatte leider die letzten Tage noch viel zu tun, aber ich wuerde das Problem immer noch gerne loese.

Daher erklaer ich es vielleicht nochmal genauer.

Also ich moechte gerne einen Schalter in HTMl haben auf dem client (Ein button, besser aber ein Image oder link;)
HTML:
<a href="http://localhosts:8080/TestRobotKeys"><img src="button.png" /></a>

oder

HTML:
<form method="post" action="http://localhost:8080/TestRobotKeys">

  <input type="submit" value="Display sperren"/>
</form>

Ein klick auf den Button (auf dem Client) soll die Funktion TestRobotKeys auf dem Server starten.

Ware schon wenn da einer eine einfache Moglichkeit hatte :)
 

osion

Bekanntes Mitglied
Frage:

1. Welcher Bildschirm soll den gesperrt werden?
2. Wer klickt auf den Button?
3. Anwendungsebiet ? (Büro, Privat)

Irgendwie ist hier kein Plan, weil je nachdem wer da draufklickt und welcher Bildschirm gesperrt wird, gibt es verschiedenste Möglichkeiten.
 
Zuletzt bearbeitet:

sti

Mitglied
Da es hier scheinbar nicht um die Frage geht ob die Geschichte Sinn macht oder nicht, würde ich das ganze mit einem Rest Service nutzen.

Den Sinn deiner Applikation verstehe ich nicht so ganz, aaaber das ist ja nicht die Frage ;)

Liebe Grüße
 

Joose

Top Contributor
@dany:
Leider fehlt uns hier eine genauere Beschreibung was du als Ziel hast.
Du redest etwas von Server, Client und Remote und HTML.

Du hast anscheinend eine Serveranwendung und willst diese "steuern" können. Durch eine Clientanwendung oder eine Webseite?

Wenn du es als Webseite haben willst kann ich dir Vaadin empfehlen:

Dieses Framework ermöglicht eine ganz simple Programmierung von Webanwendungen durch Java.
Hier werden Anwendung inkl UI normal in Java programmiert, die UI wird vom Framework automatisch in HTML inkl JavaScript (wenn gebraucht) umgewandelt. Und kann von jedem X-beliebigen Browser aufgerufen werden.
Es kann ganz einfach auf Klicks reagiert werden, welche per Event an den Server weitergereicht werden.
 

dany

Mitglied
@Joose
Du hast anscheinend eine Serveranwendung und willst diese "steuern" können. Durch eine Clientanwendung oder eine Webseite?
Genau, Der Client (in Html) steuert den Server(das Servlet). Ich klicke also auf meinem Tablet einen Button und auf dem Server wird der Bilschirm gesperrt.

das hoert sich schonmal gut an.

Habe aber schon weiter gemacht, das sieht jetzt so aus:

index.html
HTML:
<form method="post" name="postform" action="/WebApp/NewServlet">

web.xml
HTML:
<servlet-name>NewServlet</servlet-name>
        <servlet-class>javax.NewServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>NewServlet</servlet-name>
        <url-pattern>/NewServlet</url-pattern>

und Servlet:
NewServlet.java: !!!Hier ist mein Problem

[Java]
public class NewServlet extends HttpServlet {

private Robot robot;


@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

try {

robot = new Robot();
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_L);

} catch (AWTException ex) {
}


}

}
[/code]

Gibt zwar keinen Error, macht aber auch nichts..

(Muss ich im Netbeans vllt. noch den CP fuer die Servlet-api angeben?)
 
Zuletzt bearbeitet von einem Moderator:

JeromeC

Aktives Mitglied
Mal ein paar Fragen:
a) Welche Projektabhängigkeiten definierst du?
b) Hast du deine Tastatur-Steuerung schon in einem lokalen Projekt ausprobiert?
c) Hast du schon ein Hello-World-Servlet deployt?

Falls du eine der Fragen nicht beantworten kannst, würde ich dir erstmal stark empfehlen ein paar Grundlagen zu schaffen, dann müsstest du deinem Fehler sehr schnell auf die Spur kommen, denn viel Code ist es ja nicht.
Und Literatur / Tutorials gibt es zu genüge.
Ob eine Tastatur-Steuerung grundlegend vom Applikationsserver erlaubt ist, weis ich nicht, ich finde auch leider nichts dazu, aber mit Hardware-Zugriffen habe ich schon gearbeitet, daher könnte auch dies klappen.

Viel Erfolg!
 
Zuletzt bearbeitet:

dany

Mitglied
@JeromeC
zu:

a) Welche abhängigkeiten meinst du (imports), servlet-api oder was?
b) ja, hat geklappt, siehe ersten Code. Bei dem erweitern des HtttpServlet hat sich ein Fehler eingeschlichen(oder mehre)
cja hat auch geklappt.

Ich würde den Code nun gerne zum Laufen bringen, möglichst ohne irgendwelche Abhängigkeiten, ich will auch kein Java-Programmierer werden, mit "javac -cp $Glassfish... NewServlet.java" von der konsole kompilieren würde schon reichen, ohne Netbeans und Eclipse, wäre schön, einfach ein simpler Code,ohne Gedöns und so.
 

JeromeC

Aktives Mitglied
Aber eben deswegen nutzt man IDE's, damit man nicht soviel (Gedönß) machen muss.
Am einfachsten wäre es, wenn du es wie in diesem Tutorial machst. Die dann exportiere .war-Datei musst du in den Deploy-Ordner deines Applikationsservers schmeißen und dann die URL aufrufen. Einfacher wäre es natürlich noch gleich komplett in der IDE zu arbeiten, dann müsstest du nur auf das Projekt rechtsklicken -> Run as -> Run on Server machen.

Den Weg ohne IDE kann ich dir leider nicht sagen, ich kenne ihn nicht, aber da mir z.B. ANT das Projekt baut und kompiliert denke ich nicht, dass es so trivial sein wird.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Jar in Javacode Java Basics - Anfänger-Themen 2
P Umwandlung in Javacode Java Basics - Anfänger-Themen 10
D Javacode direkt in Betriebsystemabhängiges binary umwandeln Java Basics - Anfänger-Themen 5
H Javacode erklären: Mittelpunkt bestimmen Java Basics - Anfänger-Themen 4
M Aus Javacode eine Jar.Datei?? Java Basics - Anfänger-Themen 2
J Von Pseudocode zu JavaCode Java Basics - Anfänger-Themen 7
G UML --> JavaCode Java Basics - Anfänger-Themen 4
N Javacode starten Java Basics - Anfänger-Themen 13
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
A 1 Leerzeichen durch zwei Leerzeichen ersetzen Java Basics - Anfänger-Themen 4
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
obiwanke Ziffern durch ASCII Character ersetzen Java Basics - Anfänger-Themen 8
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
S Durch HashMap iterieren Java Basics - Anfänger-Themen 8
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
K mit <<1 kann man mal 2 machen, mit >>2 geteilt durch zwei und was bewirkt <<<1 und >>>1? Java Basics - Anfänger-Themen 5
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
C In String, Buchstaben ersetzen durch andere Buchstaben Java Basics - Anfänger-Themen 26
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
C if-Konstrukt durch switch-Konstrukt ersetzen Java Basics - Anfänger-Themen 14
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
Bademeister007 Operatoren Alle Zahlen einer ArrayList die durch 5 teilbar ist Java Basics - Anfänger-Themen 2
Y Wie kann ich Konsoleneingaben durch den Scanner mit JUnit 4 testen? Java Basics - Anfänger-Themen 1
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
N for Schleife durch Rekursion ersetzen Java Basics - Anfänger-Themen 6
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
F Methoden Bitte Helft mir meinen Fehler zu finden. Möchte in diesem Bankenprogramm durch die Konsoleneingabe auswählen welches Konto reduziert und welches erhö Java Basics - Anfänger-Themen 17
E 2D Array - char durch die Matrix "wandern" lassen Java Basics - Anfänger-Themen 7
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
F Methode für Teilbarkeit durch 5 tut was anderes.... Java Basics - Anfänger-Themen 3
H Aufruf von Methoden durch Methoden Java Basics - Anfänger-Themen 3
H Wie kann ich durch Methoden definiren? Java Basics - Anfänger-Themen 8
O Mehrfache Scanner-Eingabe durch Komma getrennt Java Basics - Anfänger-Themen 6
M String array durch Eingabe begrenzen Java Basics - Anfänger-Themen 7
J Dynamisches Array durch split()-Funktion? Java Basics - Anfänger-Themen 3
O Typparameter durch Wildcards verallgemeinern Java Basics - Anfänger-Themen 3
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
B Import Tabelle - Struktur durch User einstellbar Java Basics - Anfänger-Themen 4
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
F Ein Datum (int) durch Methode als String formatieren Java Basics - Anfänger-Themen 2
B OOP While Schleife läuft Endlos durch externen aufruf Java Basics - Anfänger-Themen 2
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
CptK Interface Curser durch Bild ersetzen & MouseListner Java Basics - Anfänger-Themen 2
H OOP eine Zahl immer weiter durch 2 teilen Java Basics - Anfänger-Themen 15
I Null-Überprüfung durch Lambda-Expressions abkürzen Java Basics - Anfänger-Themen 8
W Teilstring durch Teilstring mittels StringBuilder ersetzen Java Basics - Anfänger-Themen 7
N Denksportaufgabe durch Algorithmus lösen Java Basics - Anfänger-Themen 2
H Array mit Zahlen die durch 3 und 5 teilbar sind erstellen Java Basics - Anfänger-Themen 13
D Interface Frame doppelt durch Aufruf der GUI Klasse Java Basics - Anfänger-Themen 1
J Die Zahl herausfinden die durch 2 - 30 Teilbar ist... Java Basics - Anfänger-Themen 17
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
W JLabel, Farbe durch Listener ändern Java Basics - Anfänger-Themen 6
T Extrahiertes Objekt durch Getter bekommen Java Basics - Anfänger-Themen 2
R Eine Schleife durch eine Methode schließen? Java Basics - Anfänger-Themen 4
N Operatoren Suchen nach einer bestimmten Eingabe (durch Scanner) Java Basics - Anfänger-Themen 7
S For-Schleife durch "ESC" verlassen? Java Basics - Anfänger-Themen 2
C char in String suchen und durch anderen String ersetzen Java Basics - Anfänger-Themen 2
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
V Durch 0 teilen Java Basics - Anfänger-Themen 2
V Durch Methode Objekt löschen Java Basics - Anfänger-Themen 2
D Klasse durch eine Schleife wiederholen Java Basics - Anfänger-Themen 1
J Wie lege ich eine durch Random ausgesuchte Zahl in ein Array? Java Basics - Anfänger-Themen 3
S button kommt durch bild Java Basics - Anfänger-Themen 13
M Ein Bild durch Objekterzeugung zeichnen Java Basics - Anfänger-Themen 5
W Objektname durch Tastaturbefehl eingeben Java Basics - Anfänger-Themen 7
K ArrayList durch ArrayList ersetzen Java Basics - Anfänger-Themen 5
G Objektübergabe durch Parameter Java Basics - Anfänger-Themen 3
P Erste Schritte durch MenuBar verschiedene Fenster öffnen Java Basics - Anfänger-Themen 2
T Jlabel durch Text in 2 anderen Jlabels sichtbar machen Java Basics - Anfänger-Themen 4
T Threads Durch threads gestartete Prozesse killen Java Basics - Anfänger-Themen 2
M ArrayList durch OutputStream in Datei Java Basics - Anfänger-Themen 9
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
F Erste Schritte Hausaufgaben-Prob. - Iterative Prog. Zahlen aufsummieren, wenn durch k>0 teilbar. Java Basics - Anfänger-Themen 5
T Input/Output Programm beenden durch Eingabe Java Basics - Anfänger-Themen 1
K Tiefen- und Breitensuche beim Baum durch Stack und Warteschlange Java Basics - Anfänger-Themen 1
Ponychan95 Erste Schritte Switch fällt immer bis zum default durch Java Basics - Anfänger-Themen 4
J Warum wird Array durch Methode ohne Rückgabewert verändert? Java Basics - Anfänger-Themen 5
N Durch Objekte iterieren? Java Basics - Anfänger-Themen 3
J Durch 2-Dimensionales Array "bewegen" will nicht so recht hinhauen Java Basics - Anfänger-Themen 2
B Durch eine Liste von Strings laufen Java Basics - Anfänger-Themen 6
K Durch ArrayList laufen Java Basics - Anfänger-Themen 8
X Erste Schritte Lernen durch Videoreihe Java Basics - Anfänger-Themen 35

Ähnliche Java Themen

Neue Themen


Oben