Mason est une couche d'accès aux données légères open source pour les ressources de repos conçues pour être utilisées dans les applications Web Java. Il gère les demandes d'API entrantes et achemine les paramètres de ces ressources.
< dependency >
< groupId >com.metamug</ groupId >
< artifactId >mason</ artifactId >
< version >4.8</ version >
</ dependency >Utilisez des balises JSP pour modifier les requêtes de base de données et la gestion des demandes. Pour déploier à chaud les API REST sans compilation / déploiement de classes Java. Construisez des API REST avec des balises JSP.
< 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 >Échantillon de projet
Mason transforme vos anciens JSP simples (avec des bibliothèques de balises soignées) en ressources de repos. Mason n'encourage pas à utiliser des scripts dans des Resource JSPS.
Vous pouvez gérer Get, Publier, mettre, supprimer les demandes dans votre JSP. Mason a été testé avec Tomcat 9. JSTL.Jar expédié avec Tomcat est que JSTL fonctionne.
En savoir plus sur les configurations JSP ici. https://tomcat.apache.org/tomcat-9.0-doc/jasper-howto.html
Vous pouvez rédiger des requêtes de base de données dans les fichiers JSP de ressource comme dans l'exemple ci-dessus ou vous pouvez les placer dans le fichier {webAppDir}/WEB-INF/classes/query.properties et les référer dans les fichiers JSP pour réutiliser.
Accept de l'en-têteCloner et emballer le projet avec MVN
mvn clean package
Après cela, vous pouvez trouver MTG-Mason-1.0.jar à l'intérieur du dossier cible. Vous pouvez utiliser ce pot comme dépendance dans votre Java WebApp.
Placez le fichier de pot Mason dans {webAppDir}/WEB-INF/lib
Téléchargez le fichier JSTL JAR et placez-le à l'intérieur {webAppDir}/WEB-INF/lib
Créez un dossier {webAppDir}/WEB-INF/resources/{resourceVersion} et placez vos fichiers JSP ici. Par exemple, mywebapp/WEB-INF/resources/v1.0/foo.jsp .
Importez MTG-Mason.tld dans votre fichier JSP. Ce Taglib est présent à l'intérieur du pot Mason et permet l'utilisation du préfixe MTG . Vous devrez également importer le JSTL Taglib. Votre fichier JSP doit contenir ce qui suit
<% @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 < 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 >Toutes les demandes faites aux ressources JSP sont acheminées via ce filtre.
6.Configurez votre source de données dans {webAppDir}/META-INF/context.xml .
Vous pouvez jeter un œil à l'exemple de WebApp.
À l'exception de Javaee-Web-API, car cela serait présent dans votre serveur d'applications et n'importe lequel de la dépendance HSQL, MySQL ou PostgreSQL. Nous prenons également en charge la base de données Oracle, mais en raison de sa licence, nous ne pouvons pas expédier le pilote Oracle JDBC. Donc, au cas où vous utilisez Oracle Database, vous devrez installer manuellement son pilote comme dépendance dans votre projet.
Instructions sur la façon de faire de même dans les liens ci-dessous (vous pouvez vous référer l'un ou l'autre). https://www.mkyong.com/maven/how-to-add-oracle-jdbc-driver-in-your-maven-local-repository/ ou https://stackoverflow.com/a/1074971/4800126
Mason prend en charge application/xml , applicaton/json et application/json+dataset en savoir plus sur la façon dont il est utilisé ici. https://metamug.com/docs/api-request
Mason prend en charge Groovy pour l'écriture de scripts. Vous devez conserver les scripts dans {webAppDir}/WEB-INF/scripts
Exemple de script
// test.groovy
def params = _request . getParams()
res[ ' message ' ] = ' Hello ' + params[ ' name ' ] Le script peut être invoqué à l'aide de la balise script dans la ressource JSP.
< m : script file = " test.groovy " var = " res " />Fourchez ce dépôt et soumettez un RP par rapport aux problèmes énumérés. Tout dons pour ce projet sera payé aux développeurs individuels travaillant en leur qualité personnelle sur ce projet. Pour les récompenser pour leur contribution et garder Mason un projet communautaire.