Mason es una capa de acceso de datos liviano y de código abierto para recursos de descanso diseñados para usarse en aplicaciones web de Java. Maneja las solicitudes de API entrantes y enruta los parámetros a estos recursos.
< dependency >
< groupId >com.metamug</ groupId >
< artifactId >mason</ artifactId >
< version >4.8</ version >
</ dependency >Use etiquetas JSP para editar consultas de bases de datos y manejo de solicitudes. A API de despliegue de implementación en caliente sin compilar/implementar clases de Java. Construya API REST con etiquetas 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 >Proyecto de muestra
Mason convierte su simple y antiguo JSPS (con bibliotecas de etiquetas ordenadas) en recursos de descanso. Mason no fomenta el uso de scriptlets en JSP de recursos.
Puede manejar las solicitudes de obtener, publicar, poner, eliminar en su JSP. Mason ha sido probado con Tomcat 9. Jstl.jar enviado con Tomcat es hacer que JSTL funcione.
Obtenga más información sobre las configuraciones de JSP aquí. https://tomcat.apache.org/tomcat-9.0-doc/jasper-howto.html
Puede escribir consultas de bases de datos dentro de los archivos JSP de recursos como se ve en el ejemplo anterior o puede colocarlas en {webAppDir}/WEB-INF/classes/query.properties Archives y hacer referencia a ellos dentro de los archivos JSP para reutilizar.
AcceptClon y empaquetar el proyecto con MVN
mvn clean package
Después de eso, puede encontrar MTG-Mason-1.0.Jar dentro de la carpeta de destino. Puede usar este jar como dependencia en su aplicación web Java.
Coloque el archivo Mason JAR en {webAppDir}/WEB-INF/lib
Descargue el archivo jstl jar y colóquelo dentro {webAppDir}/WEB-INF/lib
Cree una carpeta {webAppDir}/WEB-INF/resources/{resourceVersion} y coloque sus archivos JSP aquí. Por ejemplo, mywebapp/WEB-INF/resources/v1.0/foo.jsp .
Importe MTG-Mason.tld dentro de su archivo JSP. Este taglib está presente dentro del frasco de Mason y permite el uso del prefijo MTG . También necesitará importar el JSTL Taglib. Su archivo JSP debe contener lo siguiente
<% @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 >Todas las solicitudes hechas a los recursos JSP se enrutan a través de este filtro.
6.Configure su fuente de datos en {webAppDir}/META-INF/context.xml File.
Puede echar un vistazo a la aplicación web de muestra.
A excepción de Javaee-Web-API, ya que eso estaría presente en su servidor de aplicaciones y cualquiera de la dependencia de HSQL, MySQL o PostgreSQL. También admitimos Oracle Database, pero debido a sus licencias, no podemos enviar el controlador Oracle JDBC. Entonces, en caso de que esté utilizando la base de datos Oracle, tendrá que instalar manualmente su controlador como dependencia en su proyecto.
Instrucciones sobre cómo hacer lo mismo en los siguientes enlaces (puede consultar cualquiera de ellos). https://www.mkyong.com/maven/how-to-add-oracle-jdbc-driver-in-your-maven-sopal-Rpository/ o https://stackoverflow.com/a/1074971/4800126
Mason admite application/xml , applicaton/json y application/json+dataset Leer más sobre cómo se usa aquí. https://metamug.com/docs/api-request
Mason apoya a Groovy para escribir guiones. Necesita mantener los scripts en {webAppDir}/WEB-INF/scripts
Ejemplo de guión
// test.groovy
def params = _request . getParams()
res[ ' message ' ] = ' Hello ' + params[ ' name ' ] El script se puede invocar usando la etiqueta script en el recurso JSP.
< m : script file = " test.groovy " var = " res " />Bifurca este repositorio y envíe un PR contra los problemas listados. Cualquier donación para este proyecto se pagará a desarrolladores individuales que trabajen en su capacidad personal en este proyecto. Para recompensarlos por su contribución y mantener a Mason un proyecto comunitario.