Skip to content

1. مقدمة

ملف PDF لهذا المستند متاح |هنا|.

الأمثلة الواردة في هذا المستند متاحة |هنا|.

يهدف هذا المستند إلى تقديم أساسيات برمجة الويب بنمط MVC في لغة Java باستخدام السيرفلتات وصفحات JSP. بعد قراءة هذا المستند وتجربة الأمثلة، من المفترض أن يكون القارئ قد أتقن المفاهيم الأساسية لبرمجة الويب في لغة Java.


لفهم التمارين المقدمة بشكل كامل، قد يكون المستند [مقدمة إلى برمجة الويب بلغة Java باستخدام السيرفلتات وصفحات JSP (2002)] مفيدًا. تشير توصيات القراءة المقدمة في بداية بعض الأقسام إلى هذه المقالة. سيُشار إلى هذا المستند فيما بعد بـ [ref1].


يمكن استخدام هذا المستند بطرق مختلفة:

  1. قم بتثبيت الأدوات، وتنزيل الكود من موقع الويب الخاص بهذا المستند، وتشغيل الاختبارات المقترحة. لن يستفيد المبتدئ شيئًا من هذه الطريقة. ومع ذلك، قد يقوم المطور المتمرس بذلك إذا كان مهتمًا فقط باختبار بيئة تطوير Eclipse/WTP.
  1. قم بتثبيت الأدوات، واتبع الوثيقة، وقم بإجراء الاختبارات المقترحة عن طريق النسخ واللصق من هذه الوثيقة. لا تقرأ الوثيقة [ref1]. من خلال المضي قدماً بهذه الطريقة، ستبدأ في اكتساب أساسيات تطوير الويب، لكن بعض النقاط ستظل غير واضحة أو غامضة. هذه طريقة قابلة للتطبيق إذا كنت ترغب في المضي قدماً بسرعة بنية التعمق أكثر لاحقاً فقط، عند كتابة تطبيق شخصي وربما استخدام وثيقة مرجعية أخرى غير [ref1].
  2. افعل نفس ما في 2، ولكن اقرأ [ref1] عندما يُنصح بذلك. ستزيل هذه الطريقة الأبطأ بعض الجوانب غير الواضحة والغامضة في الطريقة 2، ولكنها لا تُعدك جيدًا للعمل المستقل لأن الكود الذي تم الحصول عليه عن طريق النسخ واللصق لن يُفهم بالضرورة بشكل كامل.
  3. نقوم بنفس الشيء كما في 3، لكننا نكتب كل الكود بأنفسنا. من الواضح أن هذه الطريقة أطول وأكثر مملة، لكنها فعالة جدًا. لكتابة الكود، عليك قراءته، الأمر الذي يتطلب الانتباه إلى الكود، وبالتالي يبدأ في تعزيز الفهم. نادرًا ما تكون إعادة الكتابة اليدوية هذه خالية من الأخطاء. هذه الأخطاء، التي سيتم الإبلاغ عنها بواسطة أدوات Eclipse المختلفة، ستدفع القارئ إلى التشكيك في الكود الذي كتبه وبالتالي فهمه بشكل أفضل.

يتضمن هذا المستند جزءًا كبيرًا من مقال نُشر في يناير 2005 بعنوان "تطوير الويب بلغة Java باستخدام Eclipse وTomcat" ومتاح على الرابط [http://tahe.developpez.com/java/eclipse/]. فيما يلي مساهمات هذا المستند:

  • استخدام المكون الإضافي Eclipse WTP لتطوير تطبيقات الويب،
  • إعادة تنظيم الوثيقة للتركيز على بنية MVC ثلاثية الطبقات، والتي لم يتم التطرق إليها إلا قليلاً في الوثيقة الأصلية،
  • مثال على تطبيق ويب MVC ثلاثي المستويات يستخدم بيانات من نظام إدارة قواعد البيانات (DBMS).

يتميز تطبيق الويب ثلاثي المستويات بالبنية التالية:

  • تتولى طبقة [DAO] معالجة الوصول إلى البيانات، وغالبًا ما تكون هذه البيانات بيانات ثابتة داخل نظام إدارة قواعد البيانات (DBMS). ولكن يمكن أن تكون هذه البيانات أيضًا بيانات قادمة من أجهزة الاستشعار أو الشبكة، إلخ.
  • تقوم طبقة [منطق الأعمال] بتنفيذ خوارزميات "منطق الأعمال" الخاصة بالتطبيق. هذه الطبقة مستقلة عن أي شكل من أشكال واجهة المستخدم. وبالتالي، يجب أن تكون قابلة للاستخدام مع واجهة وحدة التحكم، أو واجهة الويب، أو واجهة العميل الغنية. ولذلك، يجب أن تكون قابلة للاختبار خارج واجهة الويب، لا سيما مع واجهة وحدة التحكم. وتعد هذه الطبقة عمومًا الأكثر استقرارًا في البنية. ولا تتغير هذه الطبقة في حالة تغيير واجهة المستخدم أو طريقة الوصول إلى البيانات اللازمة لتشغيل التطبيق.
  • طبقة [الويب]، وهي واجهة الويب التي تسمح للمستخدم بالتحكم في التطبيق وتلقي المعلومات منه.

يقدم المقال [https://tahe.developpez.com/java/eclipse/] أمثلة فقط لتطبيقات الويب التي تقتصر على طبقة [الويب] وحدها. هنا، نقدم مثالاً يستخدم الطبقات الثلاث جميعها.