Мейсон-это легкий уровень доступа к данным с открытым исходным кодом для ресурсов для отдыха, предназначенный для использования в веб-приложениях Java. Он обрабатывает входящие запросы API и направляет параметры к этим ресурсам.
< dependency >
< groupId >com.metamug</ groupId >
< artifactId >mason</ artifactId >
< version >4.8</ version >
</ dependency >Используйте теги JSP для редактирования запросов базы данных и обработки запросов. Для горячего развертывания API REST без компиляции/развертывания классов Java. Постройте API REST с помощью 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 >Образец проекта
Мейсон превращает ваши обычные старые JSP (с аккуратными библиотеками тегов) в ресурсы REST. Мейсон не поощряет использование сценариев в ресурсах JSP.
Вы можете справиться с Get, Post, Pult, Delete Requars в своем JSP. Мейсон был протестирован с Tomcat 9. jstl.jar, поставляемый с Tomcat, делает JSTL.
Узнайте больше о конфигурациях JSP здесь. https://tomcat.apache.org/tomcat-9.0-doc/jasper-howto.html
Вы можете написать запросы базы данных в файлах JSP ресурса, как показано в приведенном выше примере, или вы можете поместить их в файл {webAppDir}/WEB-INF/classes/query.properties и ссылаться на их в файлах JSP для повторного использования.
AcceptКлонировать и упаковать проект с MVN
mvn clean package
После этого вы можете найти Mtg-Mason-1.0.jar в целевой папке. Вы можете использовать эту банку в качестве зависимости в вашем java WebApp.
Поместите файл Mason Jar в {webAppDir}/WEB-INF/lib
Загрузите файл JSTL JAR и поместите его внутрь {webAppDir}/WEB-INF/lib
Создайте папку {webAppDir}/WEB-INF/resources/{resourceVersion} и поместите здесь файлы JSP. Например, mywebapp/WEB-INF/resources/v1.0/foo.jsp .
Импортируйте mtg-mason.tld в вашем файле JSP. Этот Taglib присутствует внутри банки Mason и позволяет использовать префикс MTG . Вам также необходимо импортировать jstl Taglib. Ваш файл JSP должен содержать следующее
<% @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 >Все запросы, сделанные в ресурсах JSP, направляются через этот фильтр.
6.configure вашего источника данных в файле {webAppDir}/META-INF/context.xml .
Вы можете взглянуть на пример WebApp.
За исключением Javaeee-Web-API, так как это будет присутствовать на вашем сервере приложений и любого из зависимости HSQL, MySQL или PostgreSQL. Мы также поддерживаем базу данных Oracle, но из -за ее лицензирования мы не можем отправить водителя Oracle JDBC. Таким образом, если вы используете базу данных Oracle, вам придется вручную установить его драйвер в качестве зависимости в вашем проекте.
Инструкции, касающиеся того, как сделать то же самое в ссылке ниже (ов) (вы можете ссылаться на любое из них). https://www.mkyong.com/maven/how-to-add-oracle-jdbc-triver-in-your-maven-local-repository/ или https://stackoverflow.com/a/1074971/4800126
Мейсон поддерживает application/xml , applicaton/json и application/json+dataset Подробнее о том, как он используется здесь. https://metamug.com/docs/api-request
Мейсон поддерживает Groovy для написания сценариев. Вы должны сохранить сценарии в {webAppDir}/WEB-INF/scripts
Пример скрипта
// test.groovy
def params = _request . getParams()
res[ ' message ' ] = ' Hello ' + params[ ' name ' ] Сценарий может быть вызван с помощью тега script в ресурсе JSP.
< m : script file = " test.groovy " var = " res " />Разбейте этот репо и отправьте PR против перечисленных вопросов. Любые пожертвования для этого проекта будут выплачиваться отдельным разработчикам, работающим в их личном качестве над этим проектом. Вознаградить их за их вклад и поддерживать Мейсон в общественном проекте.