خلال الفترة الزمنية التي انخرطت فيها في تطوير الويب Java ، أصبحت على دراية بنموذج التفكير الموجهة نحو كائن Java ونموذج تطوير MVC. الأطر التي شاركت فيها حاليًا هي Spring و SpringMVC و Hibernate. أدناه ، سيقوم محرر Wulin.com بتجميع برنامج تعليمي لك لمساعدتك في تعلم المعرفة المتعلقة بـ Javaweb. يمكن للأصدقاء المهتمين الرجوع إليها.
1. المفاهيم الأساسية
1.1. المعرفة ذات الصلة بتطوير الويب
الويب ، باللغة الإنجليزية ، تعني الويب معنى صفحة الويب ، ويستخدم لتمثيل الموارد على مضيف الإنترنت للوصول الخارجي.
تنقسم موارد الويب للوصول الخارجي على الإنترنت إلى:
1. موارد الويب الثابتة (مثل صفحات HTML): تشير إلى البيانات الموجودة في صفحة الويب التي يتصفحها الأشخاص.
2. موارد الويب الديناميكية: يشير إلى البيانات الواردة في صفحة الويب التي يتم فيها إنشاء الأشخاص لتصفحها بواسطة برنامج ، والمحتوى الذي تراها عند الوصول إلى صفحة الويب في نقاط مختلفة في الوقت المناسب.
تقنية تطوير موارد الويب الثابتة: HTML
تقنيات تطوير موارد الويب الديناميكية المستخدمة بشكل شائع: JSP/Servlet ، ASP ، PHP ، إلخ.
في Java ، تسمى تقنية تطوير موارد الويب الديناميكية مجتمعة Javaweb.
1.2. تطبيق الويب
يشير تطبيق الويب إلى برنامج للوصول إلى المتصفح ، وعادة ما يشار إليه باسم تطبيق الويب. على سبيل المثال ، هناك العديد من موارد الويب ، مثل A.HTML ، B.HTML ..... ، وتستخدم موارد الويب المتعددة هذه لتوفير الخدمات للعالم الخارجي. في هذا الوقت ، يجب وضع موارد الويب المتعددة هذه في دليل لتشكيل تطبيق ويب (أو تطبيق ويب)
يتكون تطبيق الويب من موارد ويب ثابتة وموارد ويب ديناميكية ، مثل: HTML ، CSS ، ملفات JS ، ملفات JS ، برامج Java ، حزم الدعم ، ملفات التكوين ، إلخ.
بعد تطوير تطبيق الويب ، إذا كنت ترغب في الوصول إلى العالم الخارجي ، فأنت بحاجة إلى تسليم الدليل حيث يوجد تطبيق الويب على خادم الويب للإدارة. وتسمى هذه العملية تعيين الدلائل الافتراضية.
1.3. تاريخ تطوير الويب
مرحلتان من تطوير الويب: ثابت وديناميكي
1.4. شبكة ثابتة
*HTM و *HTML هي لاحقة صفحات الويب. إذا تمت قراءة هذه المحتويات مباشرة على الخادم الآن ، فهذا يعني أن محتويات صفحات الويب هذه يتم تقديمها للمستخدمين من خلال خادم الويب. مخطط العملية في عملية الويب الثابتة بأكملها هي كما يلي:
في برنامج ويب ثابت ، يستخدم العميل متصفح ويب (أي Firefox ، إلخ) للاتصال بالخادم من خلال الشبكة (الشبكة) ، ويستخدم بروتوكول HTTP لبدء طلب (طلب) ، وإخبار الخادم بالصفحة التي أحتاجها الآن ، وتسليم جميع الطلبات إلى خادم الويب. بعد ذلك ، يأخذ خادم الويب المحتوى من نظام الملفات (القرص الذي يخزن جميع الصفحات الثابتة) وفقًا لاحتياجات المستخدم. ثم يتم إرجاعه إلى العميل من خلال خادم الويب. بعد أن يستقبل العميل المحتوى ، يتم تقديمه وتوحله من قبل المتصفح للحصول على التأثير المعروض.
هناك العديد من العيوب في الويب الثابتة:
1. لا يمكن تحديث المحتوى في صفحة الويب ديناميكيًا ، والمحتوى الذي يراه جميع المستخدمين في جميع الأوقات والتأثير النهائي هو نفسه.
من أجل جعل عرض الويب الثابت أكثر جمالا ، يمكن إضافة JavaScript لإكمال بعض تأثيرات العرض على الصفحة ، ولكن يتم عرض هذه التأثيرات للمستخدمين على العميل من خلال المتصفح ، لذلك لا يوجد تغيير على الخادم نفسه.
تعني تحقيق التأثيرات الديناميكية لعملاء الويب الثابتة:
• JavaScript
• vbscript
يستخدم JavaScript في التطوير الفعلي.
2. لا يمكن الاتصال على الويب الثابت بقاعدة البيانات ولا يمكنه تحقيق التفاعل مع المستخدمين.
إن حفظ البيانات باستخدام قاعدة بيانات هو اختيار معظم الأنظمة الآن ، لأنه يمكن إدارة البيانات بسهولة في قاعدة البيانات ، ويمكن إكمال عمليات الإضافة والحذف والتعديل والبحث باستخدام عبارات SQL القياسية.
1.5. شبكة ديناميكية
ما يسمى الديناميكية لا يعني أن الصفحة ستتحرك. الميزة الرئيسية هي: "تأثير عرض الصفحة لتغييرات الويب من وقت لآخر" ، والويب الديناميكي تفاعلي ، ويمكن تحديث محتوى صفحة الويب ديناميكيًا. مخطط العملية لعملية الويب الديناميكية بأكملها على النحو التالي:
في الويب الديناميكي ، لا يزال البرنامج يستخدم العميل والخادم ، ولا يزال العميل يستخدم المتصفح (أي Firefox ، إلخ) ، ويتصل بالخادم من خلال الشبكة (الشبكة) ، ويبدأ طلب (طلب) باستخدام بروتوكول HTTP. تتم معالجة جميع الطلبات أولاً بواسطة مكون إضافي لخادم الويب (البرنامج المساعد الخادم). يتم استخدام هذا البرنامج المساعد لتمييز ما إذا كان الطلب هو مورد ثابت ( *.htm أو *.htm) أو مورد ديناميكي.
إذا وجد مكون الإضافي لخادم الويب أن العميل يطلب موارد ثابتة ( *.htm أو *.htm) ، فإنه يقوم بإعادة توجيه الطلب مباشرة إلى خادم الويب ، ثم يأخذ خادم الويب المحتوى من نظام الملفات وإرساله إلى متصفح العميل إلى التحليل والتنفيذ.
إذا وجد المكون الإضافي لخادم الويب أن العميل يطلب الموارد الديناميكية ( *.jsp ، *.asp/ *. aspx ، *.php) ، فإنه يقوم أولاً بإعادة توجيه الطلب إلى حاوية الويب (حاوية الويب) ، وتوصيل قاعدة البيانات في حاوية الويب ، وتأخذ البيانات من قاعدة البيانات وتجمع بين محتوى العرض معًا. بعد تجميع محتوى عرض الصفحة ، يتم تسليم جميع محتوى العرض إلى خادم الويب ، ثم يرسل المحتوى مرة أخرى إلى متصفح العميل لتحليله من خلال خادم الويب.
1.6. طرق تنفيذ تطبيقات الويب الديناميكية
هناك العديد من الطرق لتنفيذ الويب الديناميكي الآن ، والأكثر شيوعًا هي كما يلي:
• Microsoft ASP ، ASP.NET
• PHP
• Java Servlet/JSP
1. Microsoft ASP ، ASP.NET
كان تطوير الويب الديناميكي لـ Microsoft مبكرًا نسبيًا ، وكان الأول في البلاد هو ASP. يضيف ASP البرامج النصية VB إلى لغة HTML ، ولكن يجب أن يستخدم تطبيق التطوير القياسي ASP+COM. ومع ذلك ، في الواقع ، عند تطوير ASP ، يتم كتابة مئات الرموز في صفحة واحدة ، ورمز الصفحة فوضوي للغاية.
لدى ASP نفسه قيود على منصة التطوير: Windows+IIS+SQL Server/Access. لا يمكن تشغيل ASP إلا على نظام تشغيل Windows. تم القضاء على ASP بشكل أساسي الآن. الآن تم تطويره بشكل أساسي باستخدام ASP.NET. قامت ASP.NET بتحسين أدائها بشكل كبير وتتطور بسرعة ، لكنها لا تزال محدودة من قبل المنصة. C# اللغة تستخدم بشكل أساسي في ASP.NET.
2.PHP
تم تطوير PHP سريعًا للغاية ولديه وظائف قوية ، وموظف مشترك (يشير النظام الأساسي إلى نظام التشغيل الذي يتم تشغيله) ، والرمز بسيط أيضًا.
3.Servlet/JSP
هذه هي لغة التنفيذ للهندسة المعمارية B/S التي يروج لها Sun (تم الحصول على Sun الآن بواسطة Oracle). تم تطويره استنادًا إلى لغة Java لأن لغة Java بسيطة بما يكفي ونظيفة للغاية.
أداء تقنية Servlet/JSP مرتفع جدًا أيضًا. لا يتم تقييده بواسطة النظام الأساسي ويمكن استخدامه بشكل أساسي على جميع المنصات. علاوة على ذلك ، فإنه يستخدم طريقة المعالجة متعددة الخيوط أثناء التشغيل ، وبالتالي فإن الأداء مرتفع للغاية.
كانت أقدم تكنولوجيا الويب التي تم إطلاقها في Sun برنامج Servlet. كانت هناك بعض المشاكل عند استخدام برنامج Servlet نفسه. تمت كتابة جميع البرامج في Java Code + HTML ، أي لاستخدام عبارات إخراج Java لإخراج جميع خط رمز HTML حسب السطر. بعد ذلك ، كانت Sun مستوحاة من ASP وتطوير JSP (صفحة خادم Java). تأثير كتابة بعض كود JSP يشبه إلى حد كبير مع ASP. يمكن أن يمكّن ذلك بسهولة بعض مبرمجي ASP من اللجوء إلى التعلم JSP وزيادة القدرة التنافسية في السوق.
2. خادم الويب
2.1. مقدمة إلى خادم الويب
1. يشير خادم الويب إلى برنامج موجود على جهاز كمبيوتر من نوع ما على الإنترنت ، وهو برنامج يمكنه توفير مستندات للمتصفح الذي يقدم الطلب. عندما يتصل متصفح الويب (العميل) بالخادم ويطلب ملفًا ، يقوم الخادم بمعالجة الطلب ويغذي الملف مرة أخرى إلى المتصفح ، وسوف تخبر المعلومات المصاحبة للمتصفح كيفية عرض الملف (أي نوع الملف).
2. الخادم هو برنامج سلبي: سيستجيب الخادم فقط عندما يقوم المتصفح الذي يعمل على الإنترنت الذي يرسل طلبًا.
2.2. مقدمة لخوادم الويب المشتركة
1. مدونة الويب
WebLogic هو خادم تطبيقات تنتجها شركات BEA الأمريكية. Bea WebLogic هو خادم تطبيق Java لتطوير ودمج ونشر وإدارة تطبيقات الويب الكبيرة الموزعة وتطبيقات الشبكة وتطبيقات قاعدة البيانات. إدخال الوظائف الديناميكية لـ Java وأمن معايير Java Enterprise في تطوير تطبيقات الشبكة واسعة النطاق وتكاملها ونشرها وإدارتها. إنه حاليًا خادم الويب الأكثر استخدامًا على نطاق واسع ، ويدعم مواصفات J2EE ، ويتم تحسينه باستمرار للتكيف مع متطلبات التطوير الجديدة. يظهر واجهة بدء التشغيل في الشكل
2. WebSphere
يعد WebSphere Application Server خادم تطبيق ويب مفتوح بالكامل ، وهو جزء أساسي من خطة التجارة الإلكترونية في IBM. إنها بيئة تطبيق قائمة على Java لبناء تطبيقات الإنترنت ونشرها وإدارة الإنترنت. تم توسيع هذه المجموعة الكاملة من المنتجات لتلبية احتياجات خوادم تطبيقات الويب ، بدءًا من مستوى البسيط إلى المتقدم إلى المؤسسة. يظهر الواجهة بدء التشغيل في الشكل:
3. تومكات
TomCattomCat هو خادم ويب أدنى يبرز معيار Java EE وهو مشروع أساسي في مشروع Jakarta لمؤسسة Apache Software ، الذي طورته Apache و Sun وبعض الشركات والأفراد الآخرين. نظرًا لأن Tomcat لديه تقنية متقدمة ، وأداء مستقر ، وهو مجاني مفتوح المصدر ، فإنه محبوب للغاية من قبل عشاق Java وقد تم التعرف عليه من قبل بعض مطوري البرامج ، وأصبح خادم تطبيقات ويب شهير في الوقت الحالي. يستخدم تعلم Javaweb Development بشكل عام Tomcat Server ، والذي يدعم جميع مواصفات JSP و Servlet. يظهر الواجهة بدء التشغيل في الشكل:
4. IIS
منتج خادم الويب الخاص بـ Microsoft هو خدمات معلومات الإنترنت (IIS) ، وهو خادم ويب يسمح بمعلومات النشر على الإنترانت العامة أو الإنترنت. ⅱS هي واحدة من أكثر منتجات خادم الويب شعبية في الوقت الحاضر ، والعديد من مواقع الويب الشهيرة مبنية على منصة ⅱS. يوفر IIS أداة لإدارة الواجهة الرسومية تسمى Manager Internet Information Services ، والتي يمكن استخدامها لمراقبة خدمات التكوين والتحكم في خدمات الإنترنت.
IIS هو مكون خدمة ويب ، بما في ذلك خادم الويب وخادم FTP وخادم NNTP وخادم SMTP ، والذي يتم استخدامه لتصفح الويب ونقل الملفات وخدمات الأخبار وإرسال البريد الإلكتروني على التوالي. يجعل من السهل نشر المعلومات على الشبكة (بما في ذلك شبكة الإنترنت وشبكة المنطقة المحلية). يوفر ISAPI (intranet Server API) كواجهة برمجة لتوسيع وظائف خادم الويب ؛ في الوقت نفسه ، يوفر أيضًا موصل قاعدة بيانات الإنترنت ، والذي يمكنه تمكين الاستعلام وتحديث قاعدة البيانات.
لتعلم تطوير الويب ، تحتاج إلى تثبيت خادم ويب أولاً ، ثم تطوير موارد الويب المقابلة في خادم الويب للمستخدمين للوصول إلى استخدام المتصفح.
3. بناء بيئة تطوير تطبيق Javaweb - خادم Tomcat
3.1. سؤال: لماذا يجب عليك تثبيت خادم ويب أولاً عند تعلم تطوير الويب؟
قم بإنشاء صفحة ويب على الكمبيوتر المحلي ، والتي لا يمكن الوصول إليها من قبل المستخدم ، ولكن إذا قمت بتشغيل خادم Tomcat ووضع صفحة الويب في خادم Tomcat ، يمكن للمستخدم الوصول إليه. ماذا يعني هذا؟
1. بغض النظر عن موارد الويب التي تريد الوصول إليها بواسطة جهاز كمبيوتر بعيد ، يجب أن يكون لديك برنامج اتصال شبكة مقابل. عندما يأتي المستخدم للوصول ، يقرأ برنامج اتصال الشبكة بيانات مورد الويب ويرسل البيانات إلى الزائر.
2. خادم الويب هو مثل هذا البرنامج ، والذي يستخدم لإكمال اتصال الشبكة الأساسي. باستخدام هذه الخوادم ، يحتاج مطورو تطبيقاتنا فقط إلى الانتباه إلى كيفية كتابة موارد الويب ، بدلاً من كيفية إرسال الموارد إلى العميل ، مما يقلل إلى حد كبير من عبء عمل تطوير المطور.
3.2. قم بتنزيل وتثبيت خادم Tomcat
الموقع الرسمي Tomcat: http://jakarta.apache.org
قم بتنزيل حزمة تثبيت Tomcat: http://tomcat.apache.org/
انقر فوق [تنزيل] للقفز إلى صفحة التنزيل الموضحة في الشكل أدناه
3.3. ابدأ واختبار خادم Tomcat
ابدأ خادم Tomcat
انقر نقرًا مزدوجًا فوق ملف بدء التشغيل
اختبار خادم tomcat
افتح المتصفح وأدخل http: // localhost: 8080/. يمكن عرض الواجهة التالية للإشارة إلى أن التثبيت ناجح.
3.4. تومكات بدء التشغيل الأسئلة الشائعة
الأسباب التي تجعل خادم Tomcat لا يمكن أن يبدأ عادةً هو السبب التاليان:
1. مشكلة في تحديد متغيرات بيئة Java_Home
للنقر نقرًا مزدوجًا على ملف Startup.bat في دليل BIN لبدء تشغيل خادم Tomcat ، فإن أول شيء يجب فعله هو تعيين متغير بيئة Java_home في Windows ، لأن خادم Tomcat يحتاج إلى استخدام متغير بيئة Java_home للبدء. إذا لم يكن متغير بيئة Java_home موجودًا في Windows ، فلا يمكن بدء خادم Tomcat.
تكوين متغير java_home في النافذة
خطوات التشغيل (نظام WIN7): الكمبيوتر ← انقر بزر الماوس الأيمن فوق "خصائص" → إعدادات النظام المتقدمة → متغيرات البيئة المتقدمة ، كما هو موضح في الشكل أدناه:
انقر فوق "[جديد]" أسفل متغير النظام ، وينبثق مربع حوار متغير النظام الجديد. أولاً ، اكتب java_home بالاسم المتغير. كما يوحي الاسم ، فإن معنى Java_Home هو مسار التثبيت لـ JDK ، ثم اكتب مسار التثبيت لـ JDK في القيمة المتغيرة. على سبيل المثال ، فإن القيمة المتغيرة التي تم تعيينها هنا هي "D:/Program Files (x86) /java/jdk1.7.0". بعد تعيين القيمة المتغيرة ، انقر فوق الزر [OK] ، ويتم تعيين متغير بيئة Java_Home كما هو موضح في الشكل أدناه: يوجد متغير إضافي "Java_home" في متغير النظام.
عادةً ما تكون الخطوة الأولى في تعلم تطوير Java هي تكوين متغيرات بيئة المسار. تتمثل طريقة تكوين أفضل في تكوين متغير بيئة Java_Home أولاً ، ثم استخدم "٪ java_home ٪" في متغير المسار للإشارة إلى قيمة متغير Java_Home.
لذلك ، يتم تكوين متغير بيئة Java_Home بشكل عام في النافذة. إذا نسيت تكوين متغير بيئة Java_home ، فيمكنك استخدام الطريقة أعلاه لتكوينه.
2. قضايا شغل الميناء
نظرًا لأن خادم Tomcat يحتاج إلى استخدام المنفذ 8080 افتراضيًا عند البدء ، إذا كان هذا المنفذ 8080 يشغله تطبيقات أخرى ، فلن يتمكن خادم Tomcat بشكل طبيعي. الظاهرة التي تراها هي "واجهة بدء تشغيل خادم Tomcat ستقوم بطباعة رسالة خطأ استثناء ثم سيتم إغلاقها تلقائيًا" ، كما هو موضح في الشكل أدناه:
نظرًا لأن الوقت من بدء التشغيل إلى إغلاق هذه النافذة قصيرة جدًا ، فمن الصعب علينا أن نرى معلومات استثناء الخطأ عندما تبدأ Tomcat من خلال هذه النافذة. لذلك ، يمكننا عمومًا عرض تشغيل خادم Tomcat من خلال معلومات السجل (السجل) المسجلة بواسطة خادم Tomcat.
يوجد مجلد سجلات في الدليل الجذر لخادم Tomcat.
يقوم مجلد Logs بتخزين ملفات سجل Tomcat. افتح مجلد السجلات ويمكنك رؤية ملفات السجل في الداخل. يوجد ملف سجل يسمى "Catalina.yyyyy-mm-dd.log". على سبيل المثال ، يسجل ملف السجل "Catalina.2014-05-17.log" تشغيل خادم Tomcat في 2014-05-17.
تسجل معلومات السجل بوضوح تشغيل خادم Tomcat. إذا لم يكن من الممكن بدء تشغيل المنفذ 8080 بشكل طبيعي بسبب احتلاله ، فسيتم تسجيل معلومات الاستثناء الموضحة في الشكل أعلاه. من خلال التحقق من معلومات الاستثناء ، يمكننا أن نعرف لماذا لا يمكن لخادم Tomcat البدء بشكل طبيعي!
ملخص: عندما لا يتمكن خادم Tomcat بشكل طبيعي ، تحقق أولاً مما إذا كان متغير بيئة Java_Home تم تكوينه ، ثم تحقق مما إذا كان المنفذ في خادم Tomcat يشغله تطبيقات أخرى.
هذه هي نهاية هذه المقالة حول تحليل مثال كتاب Java Development Progratory (الملخص 1). آمل أن يكون ذلك مفيدًا لك!