Mason هي طبقة وصول بيانات مفتوحة المصدر وخفيفة الوزن للحصول على موارد REST مصممة لاستخدامها في تطبيقات الويب Java. إنه يتعامل مع طلبات واجهة برمجة التطبيقات الواردة وتوجيه المعلمات إلى هذه الموارد.
< dependency >
< groupId >com.metamug</ groupId >
< artifactId >mason</ artifactId >
< version >4.8</ version >
</ dependency >استخدم علامات JSP لتحرير استعلامات قاعدة البيانات ومعالجة الطلبات. لنشر واجهات برمجة تطبيقات الراحة الساخنة دون تجميع/نشر فصول Java. بناء راحة واجهات برمجة التطبيقات مع علامات 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 >عينة مشروع
يقوم Mason بتحويل JSPs القديم (مع مكتبات العلامات الأنيقة) إلى موارد REST. Mason لا يشجع على استخدام السيناريو في JSPs الموارد.
يمكنك التعامل مع الطلبات ، والنشر ، والطرح ، وحذف الطلبات في JSP الخاصة بك. تم اختبار Mason مع 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. تكوين مصدر البيانات الخاص بك في {webAppDir}/META-INF/context.xml file.
يمكنك إلقاء نظرة على عينة WebApp.
باستثناء javaee-web-api لأن ذلك سيكون موجودًا في خادم التطبيق الخاص بك وأي شخص من HSQL أو MySQL أو PostgreSQL التبعية. نحن ندعم أيضًا قاعدة بيانات Oracle ولكن نظرًا لترخيصها ، لا يمكننا شحن برنامج تشغيل Oracle JDBC على طول. لذلك في حال كنت تستخدم Oracle Database ، فسيتعين عليك تثبيت برنامج تشغيله يدويًا كاعتماد في مشروعك.
التعليمات المتعلقة بكيفية القيام الشيء نفسه في الارتباطات (الارتباطات) أدناه (يمكنك الرجوع إلى أي منهما). https://www.mkyong.com/maven/how-to-add-oracle-jdbc-driver-
يدعم MASON application/xml و applicaton/json و application/json+dataset قراءة المزيد حول كيفية استخدامها هنا. https://metamug.com/docs/api-request
ميسون يدعم رائع لكتابة البرامج النصية. تحتاج إلى الاحتفاظ بالبرامج النصية في {webAppDir}/WEB-INF/scripts
مثال البرنامج النصي
// test.groovy
def params = _request . getParams()
res[ ' message ' ] = ' Hello ' + params[ ' name ' ] يمكن استدعاء البرنامج النصي باستخدام علامة script في مورد JSP.
< m : script file = " test.groovy " var = " res " />مفترق هذا الريبو وتقديم العلاقات العامة ضد القضايا المدرجة. سيتم دفع أي تبرعات لهذا المشروع للمطورين الأفراد الذين يعملون بصفتهم الشخصية في هذا المشروع. لمكافأتهم على مساهمتهم والحفاظ على Mason مشروع المجتمع.