Mason adalah lapisan akses data open-source, ringan untuk sumber daya istirahat yang dirancang untuk digunakan dalam aplikasi web Java. Ini menangani permintaan API yang masuk dan merutekan parameter ke sumber daya ini.
< dependency >
< groupId >com.metamug</ groupId >
< artifactId >mason</ artifactId >
< version >4.8</ version >
</ dependency >Gunakan tag JSP untuk mengedit kueri basis data dan menangani penanganan. Untuk Hot Deploy REST API tanpa menyusun/menggunakan kelas Java. Bangun API REST dengan tag 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 >Proyek Sampel
Mason mengubah JSP lama Anda yang sederhana (dengan perpustakaan tag yang rapi) menjadi sumber daya istirahat. Mason tidak mendorong menggunakan skrip di JSP sumber daya.
Anda dapat menangani Get, Posting, Put, hapus permintaan di JSP Anda. Mason telah diuji dengan Tomcat 9. JSTL.Jar Dikirim dengan Tomcat membuat JSTL berfungsi.
Pelajari lebih lanjut tentang konfigurasi JSP di sini. https://tomcat.apache.org/tomcat-9.0-doc/jasper-howto.html
Anda dapat menulis kueri basis data di dalam file JSP sumber daya seperti yang terlihat pada contoh di atas atau Anda dapat menempatkannya di {webAppDir}/WEB-INF/classes/query.properties file dan referensi di dalam file JSP untuk digunakan kembali.
AcceptKlon dan kemas proyek dengan MVN
mvn clean package
Setelah itu Anda dapat menemukan mtg-mason-1.0.jar di dalam folder target. Anda dapat menggunakan toples ini sebagai ketergantungan di Java Webapp Anda.
Tempatkan file Jar Mason di {webAppDir}/WEB-INF/lib
Unduh File Jar JSTL dan Tempatkan di dalam {webAppDir}/WEB-INF/lib
Buat folder {webAppDir}/WEB-INF/resources/{resourceVersion} dan tempatkan file JSP Anda di sini. Misalnya, mywebapp/WEB-INF/resources/v1.0/foo.jsp .
Impor mtg-mason.tld di dalam file jsp Anda. Taglib ini hadir di dalam toples Mason dan memungkinkan penggunaan awalan MTG . Anda juga perlu mengimpor taglib JSTL. File JSP Anda harus berisi yang berikut ini
<% @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 >Semua permintaan yang dibuat ke sumber daya JSP dialihkan melalui filter ini.
6. Konfigurasikan sumber data Anda di {webAppDir}/META-INF/context.xml file.
Anda dapat melihat Webapp sampel.
Kecuali untuk Javaee-Web-API karena itu akan ada di server aplikasi Anda dan siapa pun dari HSQL, MySQL atau ketergantungan PostgreSQL. Kami juga mendukung database Oracle tetapi karena lisensi kami tidak dapat mengirimkan driver Oracle JDBC. Jadi jika Anda menggunakan Oracle Database, Anda harus menginstal drivernya secara manual sebagai ketergantungan dalam proyek Anda.
Instruksi tentang cara melakukan hal yang sama di tautan di bawah ini (Anda dapat merujuk keduanya). https://www.mkyong.com/maven/how-to-add-oracle-jdbc-driver-in-your-maven-local-repository/ atau https://stackoverflow.com/a/1074971/4800126
Mason mendukung application/xml , applicaton/json dan application/json+dataset Baca lebih lanjut tentang bagaimana ini digunakan di sini. https://metamug.com/docs/api-request
Mason mendukung Groovy untuk menulis skrip. Anda harus menyimpan skrip di {webAppDir}/WEB-INF/scripts
Contoh skrip
// test.groovy
def params = _request . getParams()
res[ ' message ' ] = ' Hello ' + params[ ' name ' ] Script dapat dipanggil menggunakan tag script di sumber daya JSP.
< m : script file = " test.groovy " var = " res " />Fork repo ini dan kirimkan PR terhadap masalah yang terdaftar. Sumbangan apa pun untuk proyek ini akan dibayarkan kepada pengembang individu yang bekerja dalam kapasitas pribadi mereka pada proyek ini. Untuk menghargai mereka atas kontribusi mereka dan menjaga proyek komunitas Mason.