| Zeile 28: |
Zeile 28: |
| | * Umfangreiches Verzeichnis freier Javaapplikationen findet sich bei [http://java-apps.org/ Java-Apps.org]. | | * Umfangreiches Verzeichnis freier Javaapplikationen findet sich bei [http://java-apps.org/ Java-Apps.org]. |
| | | | |
| | + | === Java auf dem Desktop === |
| | + | |
| | + | ==== Links zu Java-Desktop-Anwendungen ==== |
| | + | |
| | + | Java-Desktop-Anwendungen können sich unter [[Windows]] so registrieren, dass sie mit Hilfe von Links aus dem Browser aufgerufen werden können. |
| | + | |
| | + | Siehe [[Windows#Aufruf_von_Programmen_mit_URLs]] |
| | + | |
| | + | |
| | + | Das ist nicht zu verwechseln mit Protokoll-Handlern, die Aufrufe von unbekannten Protokollen aus dem Java-Programm selbst behandeln: |
| | + | * [http://mjremijan.blogspot.com/2012/02/create-your-own-java-url-handlers.html Protokoll-Handler für Java-interne URL-Aufrufe] |
| | | | |
| | === Dokumentation zu J2SE === | | === Dokumentation zu J2SE === |
| Zeile 54: |
Zeile 65: |
| | === Kommandozeilenparser === | | === Kommandozeilenparser === |
| | | | |
| | + | * [https://picocli.info/ picocli] ist eine Bibliothek zum Parsen der Kommandozeile mit vielen Funktionen, u.a. integrierter [[Tab-Completion]] |
| | * [http://jewelcli.sourceforge.net/usage.html JewelCLI] ist ein OptionsParser, der auf Annotationen setzt. | | * [http://jewelcli.sourceforge.net/usage.html JewelCLI] ist ein OptionsParser, der auf Annotationen setzt. |
| − | * [http://commons.apache.org/cli/ CLI] ist eine [[Apache]]-Komponente, die die Verarbeitung von Kommandozeilenparametern erleichtert. | + | * [http://commons.apache.org/cli/ Commons CLI] ist eine [[Apache]]-Komponente, die die Verarbeitung von Kommandozeilenparametern erleichtert. |
| − | * [http://jopt-simple.sourceforge.net/index.html JOpt Simple] | + | * [http://jopt-simple.github.io/jopt-simple/examples.html JOpt-Simple] |
| | | | |
| | === Webanwendungen === | | === Webanwendungen === |
| Zeile 63: |
Zeile 75: |
| | * Die Übersetzung von [[Java]] nach [[JavaScript]] leistet das [http://code.google.com/intl/de-DE/webtoolkit/ Google Web Toolkit]. | | * Die Übersetzung von [[Java]] nach [[JavaScript]] leistet das [http://code.google.com/intl/de-DE/webtoolkit/ Google Web Toolkit]. |
| | ** [http://www.netbeans.org/kb/docs/web/quickstart-webapps-gwt.html Anleitung zur Nutzung des Google Web Toolkit] mit der [[Netbeans]]-IDE. | | ** [http://www.netbeans.org/kb/docs/web/quickstart-webapps-gwt.html Anleitung zur Nutzung des Google Web Toolkit] mit der [[Netbeans]]-IDE. |
| | + | |
| | + | ==== Simple HTTP-Server ==== |
| | + | |
| | + | Das JDK kommt bereits mit einem eingebauten einfachen HTTP-Server: |
| | + | * https://javadoc.scijava.org/Java13/jdk.httpserver/com/sun/net/httpserver/package-summary.html |
| | + | * https://javadoc.scijava.org/Java13/jdk.httpserver/com/sun/net/httpserver/spi/HttpServerProvider.html |
| | + | * https://dzone.com/articles/simple-http-server-in-java |
| | + | * https://gist.github.com/gitawego/14e15456e4d36a26aac7695648565329 |
| | + | * https://www.logicbig.com/tutorials/core-java-tutorial/http-server/http-server-basic.html |
| | + | |
| | + | Noch mehr Basic ist die Programmierung auf den IO-Sockets: |
| | + | * https://dev.to/mateuszjarzyna/build-your-own-http-server-in-java-in-less-than-one-hour-only-get-method-2k02 |
| | + | |
| | | | |
| | ==== Vaadin ==== | | ==== Vaadin ==== |
| Zeile 72: |
Zeile 97: |
| | * [https://developer.ibm.com/dwblog/2017/what-is-vaadin-java-web-applications/ Überblick über Vaadin auf developer.ibm.com mit Nachweisen zu IDEs (Netbeans und Eclipse)] | | * [https://developer.ibm.com/dwblog/2017/what-is-vaadin-java-web-applications/ Überblick über Vaadin auf developer.ibm.com mit Nachweisen zu IDEs (Netbeans und Eclipse)] |
| | * [https://dzone.com/refcardz/getting-started-vaadin Getting Started auf dzone], geschrieben von Vaadin-Mitarbeitern | | * [https://dzone.com/refcardz/getting-started-vaadin Getting Started auf dzone], geschrieben von Vaadin-Mitarbeitern |
| | + | |
| | + | ==== sparkjava ==== |
| | + | |
| | + | [https://sparkjava.com Sparkjava] ist ein Micro-Framework, um ähnlich einer funktionalen Herangehensweise wie in [[Node.js]] Anfragen von Web-Clients zu bedienen. |
| | + | |
| | + | Siehe |
| | + | * https://sparktutorials.github.io/2016/06/10/spark-basic-structure.html |
| | + | * https://zeroturnaround.com/rebellabs/sparkjava-is-an-amazing-java-web-framework-do-you-really-need-it/ |
| | + | |
| | + | ==== JavaLite ActiveWeb ==== |
| | + | |
| | + | Siehe http://javalite.io/activeweb |
| | + | |
| | + | ==== molecule ==== |
| | + | [http://molecule.vtence.com/ Molecule] ist ein kleines Framework für Java, das einen Java-Webserver (Simple oder Undertow) integriert und ähnlich wie [[Express]] für [[Node.js]]-Anwendungen zu benutzen ist. |
| | + | |
| | + | Siehe |
| | + | * https://github.com/testinfected/molecule |
| | | | |
| | === Dateiverwaltung === | | === Dateiverwaltung === |
| Zeile 89: |
Zeile 132: |
| | ==== JSON ==== | | ==== JSON ==== |
| | | | |
| | + | * [https://github.com/stleary/JSON-java org.json or JSON-java] |
| | * [http://code.google.com/p/json-simple/ Json.Simple], Java Library to convert from and to JSON | | * [http://code.google.com/p/json-simple/ Json.Simple], Java Library to convert from and to JSON |
| | * Siehe auch [http://jsontools.berlios.de/ JSONTools] | | * Siehe auch [http://jsontools.berlios.de/ JSONTools] |
| Zeile 99: |
Zeile 143: |
| | * [http://jexcelapi.sourceforge.net/ jExcelAPI] und | | * [http://jexcelapi.sourceforge.net/ jExcelAPI] und |
| | * [http://poi.apache.org/ Apache POI] (auch für das [http://poi.apache.org/spreadsheet/index.html 2007er-XML-Format]) | | * [http://poi.apache.org/ Apache POI] (auch für das [http://poi.apache.org/spreadsheet/index.html 2007er-XML-Format]) |
| | + | ** Siehe zu Apache POI die [https://www.callicoder.com/java-read-excel-file-apache-poi/ Anleitung zum Lesen von Excel-Dateien in Java] |
| | gelesen und geschrieben werden. | | gelesen und geschrieben werden. |
| | | | |
| Zeile 124: |
Zeile 169: |
| | | | |
| | * [http://www.lug-kr.de/wiki/JasperReports Vergleich verschiedener Berichtstools] | | * [http://www.lug-kr.de/wiki/JasperReports Vergleich verschiedener Berichtstools] |
| | + | |
| | + | ==== BIRT ==== |
| | + | |
| | + | https://eclipse.github.io/birt-website/docs/what-is-birt |
| | | | |
| | ==== JasperReports ==== | | ==== JasperReports ==== |
| Zeile 196: |
Zeile 245: |
| | * Ein [http://java.sun.com/docs/books/tutorial/jdbc/overview/index.html Überblick über JDBC/SQL] findet sich auf java.sun.com. | | * Ein [http://java.sun.com/docs/books/tutorial/jdbc/overview/index.html Überblick über JDBC/SQL] findet sich auf java.sun.com. |
| | * [http://www.netbeans.org/kb/55/derby-demo.html Mit NetBeans-IDE auf Datenbanken zugreifen] | | * [http://www.netbeans.org/kb/55/derby-demo.html Mit NetBeans-IDE auf Datenbanken zugreifen] |
| | + | |
| | + | |
| | + | ===== Query-Builder ===== |
| | + | |
| | + | Um die Tippfehler von SQL-Queries in Java-Code zu reduzieren, gibt es leicht- oder schwergewichtige Query-Builder, bei denen die SQL-Sprachkonstrukte in Java-Methoden oder -Eigenschaften abgebildet werden. Vertreter sind z.B. |
| | + | * [https://www.jooq.org/ jOOQ] - mächtig, unterstützt auch SQL-Dialekte der einzelnen Datenbanken, kostenlos (nur) für Open Source Datenbanken |
| | + | * [https://openhms.sourceforge.io/sqlbuilder/ OpenHMS SqlBuilder] - leichtgewichtiger Query-Builder |
| | + | * [http://www.querydsl.com/ QueryDSL ] |
| | + | * [http://www.mybatis.org/mybatis-3/getting-started.html MyBatis] |
| | + | * [https://calcite.apache.org/apidocs/org/apache/calcite/sql/util/SqlBuilder.html Apache Calcite SqlBuilder class] - Low level SQL-Query-Unterstützung |
| | + | |
| | + | Siehe auch [https://calcite.apache.org/docs/ Apache Calcite] - ein Datenbank-Adapter |
| | + | |
| | + | ===== Object Relational Mapper ===== |
| | + | Es gibt schwergewichtige Zwischenschichten, die SQL-Datensätze auf Java-Objekte spiegeln. Siehe z.B. |
| | + | * [[Hibernate]] |
| | + | * [http://javalite.io/activejdbc ActiveJDBC] |
| | | | |
| | ==== SQL ==== | | ==== SQL ==== |