Mason ist eine Open-Source-Leichter Datenzugriffsebene für REST-Ressourcen, die für Java-Webanwendungen verwendet werden sollen. Es übernimmt die eingehenden API -Anfragen und leitet die Parameter an diese Ressourcen weiter.
< dependency >
< groupId >com.metamug</ groupId >
< artifactId >mason</ artifactId >
< version >4.8</ version >
</ dependency >Verwenden Sie JSP -Tags für die Bearbeitung von Datenbankabfragen und die Anfrage zur Handhabung. Zum Hot -Bereitstellen von REST -APIs ohne Kompilieren/Bereitstellen von Java -Klassen. Erstellen Sie REST -APIs mit JSP -Tags.
< jsp : directive .include file = " ../fragments/mason-init.jspf " />
<%-- customer.jsp --%>
< m : resource >
< m : request method = " GET " >
< sql : query var = " customers " dataSource = " ${datasource} " >
SELECT name, address, phone, type from retail_customer
</ sql : query >
< c : set target = " ${output} " property = " customers " value = " ${customers} " />
</ m : request >
</ m : resource >Beispielprojekt
Mason verwandelt Ihre einfachen alten JSPs (mit ordentlichen Tag -Bibliotheken) in Ruhe -Ressourcen. Mason fördert nicht die Verwendung von Drehbuch in Ressourcen -JSPs.
Sie können Get, posten, stellen, Anfragen in Ihrem JSP verarbeiten. Mason wurde mit Tomcat 9 getestet .
Erfahren Sie hier mehr über JSP -Konfigurationen. https://tomcat.apache.org/tomcat-9.0-doc/jasper-howto.html
Sie können Datenbankabfragen in den Ressourcen-JSP-Dateien schreiben, wie sie im obigen Beispiel angezeigt werden, oder Sie können sie in {webAppDir}/WEB-INF/classes/query.properties platzieren und sie in den JSP-Dateien zur Wiederverwendung verweisen.
Accept HeaderKlon und verpacken das Projekt mit MVN
mvn clean package
Danach finden Sie Mtg-Mason-1.0.jar im Zielordner. Sie können dieses Glas als Abhängigkeit in Ihrem Java WebApp verwenden.
Platzieren Sie die Mason JAR-Datei in {webAppDir}/WEB-INF/lib
Laden Sie die JSTL-JAR-Datei herunter und platzieren Sie sie in {webAppDir}/WEB-INF/lib
Erstellen Sie einen Ordner {webAppDir}/WEB-INF/resources/{resourceVersion} und platzieren Sie Ihre JSP-Dateien hier. Zum Beispiel mywebapp/WEB-INF/resources/v1.0/foo.jsp .
Importieren Sie Mtg-Mason.tld in Ihre JSP-Datei. Dieser Taglib ist im Masonglas vorhanden und ermöglicht die Verwendung des MTG -Präfixes. Sie müssen auch den JSTL Taglib importieren. Ihre JSP -Datei sollte Folgendes enthalten
<% @taglib uri = " http://java.sun.com/jsp/jstl/core " prefix = " c " %>
<% @taglib uri = " http://java.sun.com/jsp/jstl/sql " prefix = " sql " %>
<% @taglib uri = " mtg-mason.tld " prefix = " m " %>
<%@ page trimDirectiveWhitespaces="true" %>{webAppDir}/WEB-INF/web.xml hinzu < filter >
< filter-name >Router</ filter-name >
< filter-class >com.metamug.mason.Router</ filter-class >
</ filter >
< filter-mapping >
< filter-name >Router</ filter-name >
< url-pattern >/*</ url-pattern >
< init-param >
< param-name >datasource</ param-name >
< param-value >jdbc/mason</ param-value >
</ init-param >
</ filter-mapping >Alle Anfragen an die JSP -Ressourcen werden über diesen Filter weitergeleitet.
6. Konfigurieren Sie Ihre Datenquelle in {webAppDir}/META-INF/context.xml .
Sie können sich das Beispiel -WebApp ansehen.
Mit Ausnahme von Javaee-Web-API, da dies in Ihrem Anwendungsserver und jeder von HSQL, MySQL oder PostgreSQL-Abhängigkeit vorhanden wäre. Wir unterstützen auch die Oracle -Datenbank, aber aufgrund der Lizenzierung können wir den Oracle JDBC -Treiber nicht versenden. Für den Fall, dass Sie die Oracle -Datenbank verwenden, müssen Sie seinen Treiber manuell als Abhängigkeit in Ihrem Projekt installieren.
Anweisungen, wie Sie dasselbe in den folgenden Link (en) machen (Sie können beide verweisen). https://www.mkyong.com/maven/how-to-add-oracle-jdbc-driver-in-your-maven-local-repository/ oder https://stackoverflow.com/a/1074971/4800126
Mason unterstützt application/xml , applicaton/json und application/json+dataset Lesen Sie mehr darüber, wie es hier verwendet wird. https://metamug.com/docs/api-request
Mason unterstützt Groovy für das Schreiben von Skripten. Sie müssen die Skripte in {webAppDir}/WEB-INF/scripts aufbewahren
Beispielskript
// test.groovy
def params = _request . getParams()
res[ ' message ' ] = ' Hello ' + params[ ' name ' ] Das Skript kann mit script -Tag in JSP Resource aufgerufen werden.
< m : script file = " test.groovy " var = " res " />Geben Sie dieses Repo auf und reichen Sie eine PR gegen die aufgeführten Probleme ein. Alle Spenden für dieses Projekt werden an einzelne Entwickler gezahlt, die in ihrer persönlichen Eigenschaft für dieses Projekt arbeiten. Sie für ihren Beitrag zu belohnen und Mason ein Gemeinschaftsprojekt zu halten.