1. مقدمة
يتوفر ملف PDF لهذا المستند |HERE|.
أمثلة هذا المستند متاحة |HERE|.
نقترح هنا اكتشاف أساسيات برمجة الويب MVC بلغة Java باستخدام السيرفلتات والصفحات JSP. بعد قراءة هذا المستند واختبار الأمثلة الواردة فيه، من المفترض أن يكون القارئ قد اكتسب المفاهيم الأساسية لبرمجة الويب بلغة Java.
من أجل فهم التمارين المقترحة، قد يكون من المفيد استخدام الوثيقة [Introduction à la programmation web en Java avec les servlets et les pages JSP (2002)]. تشير نصائح القراءة الواردة في بداية بعض الأقسام إلى هذه المقالة. سيُشار إلى هذه الوثيقة فيما يلي بـ [ref1].
يمكن الاستفادة من هذا المستند بطرق مختلفة:
- تثبيت الأدوات، وتنزيل الأكواد من موقع هذا المستند، وإجراء الاختبارات المقترحة. لن يستفيد المبتدئ من هذه الطريقة. أما المطور المتمرس، فيمكنه القيام بذلك، إذا كان مهتمًا فقط باختبار بيئة التطوير Eclipse / WTP.
- تثبيت الأدوات، واتباع الوثيقة، وإجراء الاختبارات المقترحة عن طريق النسخ واللصق من هذه الوثيقة. لا تقرأ الوثيقة [ref1]. بالتصرف بهذه الطريقة، سنبدأ في اكتساب أساسيات تطوير الويب، لكن بعض النقاط ستبقى غامضة أو غريبة. هذه طريقة ممكنة إذا أردنا التقدم بسرعة بنية التعمق لاحقًا فقط، عند كتابة تطبيق شخصي وربما باستخدام وثيقة مرجعية أخرى غير [ref1].
- نقوم بنفس الشيء كما في الطريقة 2، ولكن نقرأ [ref1] عندما يُنصح بذلك. هذه الطريقة الأبطأ ستزيل بعض النقاط الغامضة أو الغريبة في الطريقة 2، ولكنها لا تُعدّ جيدًا للانطلاق الشخصي لأن الأكواد التي يتم الحصول عليها عن طريق النسخ واللصق لن تُفهم بالضرورة بشكل جيد.
- نقوم بنفس الشيء كما في الطريقة 3، ولكننا نكتب جميع الرموز بأنفسنا. من الواضح أن هذه الطريقة تستغرق وقتًا أطول وتكون أكثر مملة، ولكنها فعالة جدًا. لكتابة الأكواد، يجب قراءتها، مما يستلزم الانتباه إلى الكود وبالتالي بداية الفهم. نادرًا ما تتم هذه النسخ اليدوي دون أخطاء. هذه الأخطاء، التي ستشير إليها أدوات Eclipse المختلفة، ستدفع القارئ إلى التساؤل عن الكود الذي كتبه وبالتالي فهمه بشكل أفضل.
يستند هذا المستند إلى جزء كبير من مقال نُشر في يناير 2005 بعنوان "تطوير الويب بلغة Java باستخدام Eclipse وTomcat" والمتاح على الرابط [http://tahe.developpez.com/java/eclipse/]. فيما يلي الإضافات التي يقدمها هذا المستند:
- استخدام المكون الإضافي WTP من Eclipse لتطوير تطبيقات الويب،
- إعادة تنظيم الوثيقة للتركيز على بنية MVC ثلاثية الطبقات التي لم يتم تناولها إلا بشكل سطحي في الوثيقة الأصلية،
- مثال على تطبيق ويب ثلاثي الطبقات يستخدم بيانات من تطبيق ثنائي الطبقات.
تتميز تطبيقات الويب ثلاثية الطبقات بالبنية التالية:
![]() |
- تتولى الطبقة [dao] الوصول إلى البيانات، وغالبًا ما تكون بيانات ثابتة داخل SGBD. ولكن قد تكون أيضًا بيانات مستمدة من أجهزة استشعار أو من الشبكة، ...
- تقوم الطبقة [metier] بتنفيذ الخوارزميات "المهنية" للتطبيق. هذه الطبقة مستقلة عن أي شكل من أشكال واجهة المستخدم. وبالتالي، يجب أن تكون قابلة للاستخدام مع واجهة وحدة التحكم، وواجهة الويب، وواجهة العميل الغنية. وبالتالي، يجب أن يكون من الممكن اختبارها خارج واجهة الويب، ولا سيما مع واجهة وحدة التحكم. وهي عادةً الطبقة الأكثر استقرارًا في البنية. ولا تتغير إذا تم تغيير واجهة المستخدم أو طريقة الوصول إلى البيانات اللازمة لتشغيل التطبيق.
- الطبقة [web] وهي واجهة الويب التي تسمح للمستخدم بتشغيل التطبيق وتلقي المعلومات منه.
يقدم المقال [http://tahe.developpez.com/java/eclipse/] أمثلة فقط لتطبيقات الويب التي تقتصر على الطبقة [web] وحدها. هنا نقدم مثالاً يستخدم الطبقات الثلاث.
