مقدمة
المنصة ومواصفاتها، وفخ إعادة التسمية من javax إلى jakarta.
مقدمة في Java EE
لقد ورثتَ تطبيق Java مؤسسيًّا. الشيفرة تُترجَم بنجاح على جهاز زميلك، لكنها لا تُترجَم على جهازك. تنسخ مثالًا لـ servlet وجدتَه في أحد المنتديات، فيبقى الاستيراد javax.servlet.http.HttpServlet باللون الأحمر في محررك بعناد. تنزّل Tomcat، وتنشر أرشيفك، فيردّ الخادم بالخطأ 404 على عنوان URL أنت واثق من أنك صرّحتَ به.
هذه الأعراض الثلاثة لها السبب نفسه، وهو ليس تقنيًّا: إنه سبب سياسي. ففي عام 2017 نقلت Oracle منصة Java EE إلى مؤسسة Eclipse. حصلت المؤسسة على الشيفرة واختبارات المطابقة والمواصفات، لكنها لم تحصل على العلامة التجارية javax. والنتيجة: أُعيدت تسمية جميع حزم المنصة إلى jakarta. واليوم يمتلئ الويب بدروس كُتبت قبل هذا التغيير، ولن تُترجَم شيفرتها أبدًا في مشروع حديث.
يمنحك هذا الدرس خريطة المنطقة: ما هي المنصة فعليًّا، وكيف تترابط مواصفاتها، والفرق بين حاوية الويب وخادم التطبيقات الكامل، والأهم من ذلك كيف تعرف من النظرة الأولى ما إذا كان مثال الشيفرة الذي تقرؤه صالحًا للاستخدام أم قديمًا. وفي النهاية سيكون لديك مشروع Maven ينتج أرشيف WAR قابلًا للنشر.
كلمة صراحة قبل أن نبدأ. يدرّس هذا المقرر أسسًا ما زالت حاضرة بقوة في مشهد التطبيقات المؤسسية: servlets وJSP وMVC مجمَّعة يدويًّا. فهم هذه المكدّسة ليس تمرينًا في علم الآثار، بل هو ما يتيح لك صيانة الموجود، وفهم ما يفعله Spring Boot نيابةً عنك. ومع ذلك، إذا كنت تبدأ مشروعًا جديدًا اليوم فستنطلق على الأرجح من Spring Boot، الذي يعتمد المفاهيم نفسها ويؤتمتها. تعلّم servlets أولًا يجعل Spring مقروءًا؛ وتعلّم Spring أولًا يجعل servlets لغزًا.
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش