تطبيق إدارة المهام لـ Java. مشروع مدرسي لتطبيقات قاعدة البيانات القائمة على الويب في DHBW Karlsruhe.
هذا مثال على تطبيق الويب MVC من جانب الخادم يتحقق في Java. يتم إعداد التطبيق على "Jakarta Enterprise Edition" (سابقًا "Java Enterprise Edition") وبالتالي يتم تشغيله في خادم تطبيقات مصمم خصيصًا. يتم تنفيذ جميع منطق التطبيق بواسطة الخادم ، بحيث يتم استدعاء صفحة HTML التي تم إنشاؤها بالكامل من الخادم لكل عنوان URL للتطبيق وعرضه في المتصفح.
أثناء التطوير ، استخدمنا خادم Tomee الذي تم تكوينه خصيصًا. تم استخدام قاعدة بيانات Derby كقاعدة بيانات. كلاهما موجود في ملفاتنا التي يتم تحميلها على تسليم المشروع. يستخدم التطبيق Maven كأداة بناء وإدارة الحزم. وبهذه الطريقة ، يتم دمج واجهات برمجة التطبيقات اللازمة لجاكرتا ، ولكن لا توجد تبعيات أخرى ، في المشروع. يتم تنظيم رمز المصدر للتطبيق على النحو التالي:
يتم استخدام أدوات التطوير التالية:
في الفصول justdoit.common.jpa.user و justdoit.common.ejb.userbean ، تم تحقيق إدارة المستخدم. يدير التطبيق جدولًا منفصلًا في قاعدة البيانات التي يتم فيها حفظ المستخدمين وكلمات المرور ومجموعات المستخدمين المعينين.
ومع ذلك ، يتم تنفيذ المصادقة والترخيص بواسطة خادم التطبيق ، والذي يجب تكوينه وفقًا لذلك. هذا يعني أن خادم التطبيق يجب أن يعرف الجداول التي يتم حفظ المستخدمين. يعتمد هذا على الإعدادات في /Web Pages/WEB-INF/web.xml .
هناك إعدادات محددة للتطبيق تتطلب إجراءات تسمح بها. في النهاية ، السطر التالي هو
<realm-name>justdoit</realm-name>
تعيين عالم. Realm ليس سوى مصطلح لطيف لأي قاعدة بيانات مع المستخدمين وكلمات المرور والأذونات الخاصة بك.
في Tomee ، يحدث هذا من خلال الأسطر التالية في ملف تكوين conf/server.xml : يتم تعريف العالم من خلال الأسطر التالية في /Web Pages/META-INF/context.xml :
<Realm
className = "org.apache.catalina.realm.DataSourceRealm"
dataSourceName = "Default-Database-Unmanaged"
userTable = "justdoit.justdoit_user"
userNameCol = "username"
userCredCol = "password_hash"
userRoleTable = "justdoit.user_group"
roleNameCol = "groupname"
>
<CredentialHandler
className = "org.apache.catalina.realm.MessageDigestCredentialHandler"
algorithm = "SHA-256"
/>
</Realm>
يجب تعريف اتصال قاعدة البيانات المذكورة بموجب dataSourceName على النحو التالي في الملف conf/tomee.xml :
<Resource id="Derby-Sample-Managed" type="javax.sql.DataSource">
JdbcDriver = org.apache.derby.jdbc.ClientDriver
JdbcUrl = jdbc:derby://localhost:1527/sample
UserName = app
Password = app
JtaManaged = true
</Resource>
<Resource id="Derby-Sample-Unmanaged" type="javax.sql.DataSource">
JdbcDriver = org.apache.derby.jdbc.ClientDriver
JdbcUrl = jdbc:derby://localhost:1527/sample
UserName = app
Password = app
JtaManaged = false
</Resource>
يعتمد المثال على قاعدة بيانات مثال Derby ، والتي تعد جزءًا من NetBeans.
يتم تنفيذ الشحن عبر البريد الإلكتروني باستخدام Javamail API. يتم حفظ جزء من الإعدادات المطلوبة في ملف JSON: src/main/resources/mailConfig.json
{
"from": "",
"host": "",
"port": "",
"username": "",
"password": ""
}
from : العنوان الذي يجب عرضه كعنوان المرسل.host : عنوان جنس الخروج البريدي (SMTP Server)port : منفذ خادم الإخراج (SMTP Server)username : اسم المستخدم للحساب في مزود البريدpassword : كلمة مرور الحساب في مزود البريد هذا المشروع مرخص بموجب Creative Commons Name 4.0 International
© 2018 - 2019 André Göller ، Tim Schneider ، Ansgar Lichter