1. تكوين منفذ خادم Tomcat
يتم وضع جميع تكوينات tomcat في المجلد Conf ، وملف Server.xml بداخله هو ملف التكوين الأساسي.
إذا كنت ترغب في تعديل منفذ بدء التشغيل لخادم Tomcat ، فيمكنك تعديل المنفذ في عقدة الموصل في ملف تكوين Server.xml
على سبيل المثال: قم بتغيير منفذ بدء تشغيل خادم Tomcat من منفذ 8080 إلى 8081 الافتراضي
تكوين منفذ بدء تشغيل خادم Tomcat
<connector port = "8080" protocol = "http /1.1" connectionTimeOut = "20000" redirectport = "8443" />
قم بتعديل منفذ بدء تشغيل خادم Tomcat إلى المنفذ 8081
<connector port = "8081" protocol = "http /1.1" connectionTimeOut = "20000" redirectport = "8443" />
سيؤدي ذلك إلى تغيير المنفذ الافتراضي TOMCAT الافتراضي 8080 إلى المنفذ 8081. تجدر الإشارة إلى أنه بمجرد تغيير ملف *.xml في الخادم ، يجب إعادة تشغيل خادم Tomcat ، وسيتم قراءة معلومات التكوين الجديدة مرة أخرى بعد إعادة التشغيل. نظرًا لأنه تم تعديل منفذ بدء تشغيل Tomcat إلى 8081 في ملف server.xml ، يتم بدء خادم Tomcat مع المنفذ 8081 ، كما هو موضح في الشكل أدناه:
للوصول إلى خادم Tomcat ، يجب عليك أيضًا الوصول إليه باستخدام منفذ الوصول الجديد: http: // localhost: 8081/، كما هو موضح في الشكل أدناه:
2. طريقة رسم الخرائط لدليل خادم Tomcat
بعد تطوير تطبيق الويب ، إذا كنت ترغب في الوصول إلى العالم الخارجي ، فأنت بحاجة إلى تسليم الدليل حيث يوجد تطبيق الويب على خادم الويب للإدارة. وتسمى هذه العملية تعيين الدلائل الافتراضية. لذلك في Tomcat Server ، كيفية تعيين الدلائل الافتراضية؟ هناك عدة طرق في المجموع:
2.1. طريقة تعيين الدلائل الافتراضية 1: تكوين في عنصر المضيف في ملف server.xml
ابحث عن عنصر المضيف في ملف server.xml ، كما هو موضح في الشكل التالي:
إضافة <sost> </sold> إلى العلامات <context path = "/javawebapp" docBase = "F:/javawebdemoproject"/> لرسم خريطة تطبيق JavawebDemoproject Javawebapp على القرص F إلى الدليل الافتراضي لـ Javawebapp. تتم إدارة الدليل الظاهري لـ Javawebapp بواسطة خادم Tomcat. Javawebapp هو دليل غير موجود على القرص الصلب. إنه دليل نكتب عرضًا ، وهو دليل افتراضي ، لذلك يطلق عليه "دليل افتراضي". الرمز كما يلي:
<name name = "localHost" AppBase = "WebApps" unpackWars = "true" autodeploy = "true"
من بينها ، يمثل السياق سياقًا يمثل تطبيق Javaweb. عنصر السياق له سمتان.
ⅰ.Path: يستخدم لتكوين الدلائل الافتراضية ، ويجب أن تبدأ بـ "/".
ⅱ.docbase: قم بتكوين هذا الدليل الظاهري لتتوافق مع الدليل الذي يقع فيه تطبيق الويب على القرص الثابت.
استخدم المتصفح للوصول إلى مورد الويب 1.JSP في الدليل الظاهري لـ "/javawebapp". نتيجة الوصول هي كما يلي:
1. يمكن الوصول إلى jsp بشكل طبيعي ، مما يعني أننا قد قمنا بنجاح تعيين JavawebdemoProject Javawebapp إلى الدليل الظاهري لـ Javawebapp. الوصول إلى "/javawebapp/1.jsp" يعادل الوصول إلى "F: /JavawebDemoproject/1.jsp"
ملاحظة: بعد TOMCAT 6 ، لم يعد من المستحسن استخدام عنصر سياق التكوين في ملف server.xml لإضافة تعيين دليل افتراضي ، لأنه في كل مرة يتم تعديل ملف server.xml ، يجب إعادة تشغيل خادم tomcat قبل إعادة تحميل ملف server.xml. هناك وصف مثل هذا في وثائق Tomcat Server http: // localhost: 8080/docs/config/context.html:
لا يُنصح بوضعه <Context> عناصر مباشرة في ملف server.xml. هذا لأنه يجعل تعديل تكوين السياق أكثر غزوًا نظرًا لأن ملف conf/server.xml الرئيسي لا يمكن إعادة تحميله دون إعادة تشغيل tomcat.
قد يتم تعريف عناصر السياق الفردية بشكل صريح:
في ملف فردي على /MEMETA-inf/context.xml داخل ملفات التطبيق. اختياريًا (استنادًا إلى سمة CopyXML الخاصة بالمضيف) ، قد يتم نسخ هذا إلى $ catalina_base/conf/[enginename]/[hostname]/وتم إعادة تسميته إلى اسم الملف الأساسي للتطبيق بالإضافة إلى ملحق .xml ".
في الملفات الفردية (مع امتداد ".xml") في $ catalina_base/conf/[enginename]/[hostname]/directory. سيتم اشتقاق مسار السياق والإصدار من الاسم الأساسي للملف (اسم الملف أقل تمديد .xml). سيحتل هذا الملف دائمًا الأسبقية على أي ملف context.xml الذي يتم تعبئته في دليل Meta-Inf الخاص بتطبيق الويب.
داخل عنصر مضيف في conf/server.xml الرئيسية.
2.2. طريقة تعيين الدلائل الافتراضية هي 2: دع خادم Tomcat خريطة تلقائيًا
سيقوم خادم Tomcat تلقائيًا بإدارة جميع تطبيقات الويب في دليل WebApps وتعيينه في الدلائل الافتراضية. بمعنى آخر ، يمكن الوصول إلى تطبيقات الويب في دليل WebApps Tomcat Server مباشرة من قبل العالم الخارجي.
على سبيل المثال: انسخ javawebdemoproject javaweb تحت القرص F مباشرة في دليل WebApps Server Tomcat ، كما هو موضح في الشكل أدناه:
في هذا الوقت ، سيقوم خادم Tomcat تلقائيًا بتخطيط دليل افتراضي "/javawebdemoproject" مع نفس الاسم لتطبيق javawebdemoproject javaweb ، ثم يمكنك استخدام المتصفح للوصول إلى موارد تطبيق Javaweb ، كما هو موضح في الشكل أدناه:
2.3. طريقة تعيين الدلائل الافتراضية الثالثة
الرجوع إلى وثائق خادم Tomcat:
في الملفات الفردية (مع امتداد ".xml") في $ catalina_base/conf/[enginename]/[hostname]/directory. سيتم اشتقاق مسار السياق والإصدار من الاسم الأساسي للملف (اسم الملف أقل تمديد .xml). سيحتل هذا الملف دائمًا الأسبقية على أي ملف context.xml الذي يتم تعبئته في دليل Meta-Inf الخاص بتطبيق الويب.
وهذا يعني: إضافة ملف مع XML كملحق في دليل/conf/catalina/localhost لخادم tomcat. يمكن أن يكون اسم ملف XML تعسفيًا ، مثل AA.xml أدناه. لاحظ أن الجملة "سيتم اشتقاق مسار السياق والإصدار من الاسم الأساسي للملف". تتم ترجمة معنى هذه الجملة على أنها "سمة المسار لعنصر السياق تأتي من اسم ملف XML". كما ذكر أعلاه ، يتم استخدام سمة المسار لعنصر السياق لتكوين اسم الدليل الظاهري ، وبالتالي فإن اسم الدليل الظاهري هو اسم ملف XML.
يشير $ CATALINA_BASE إلى الدليل الجذر لخادم TOMCAT. يشير [Enginename] إلى اسم المحرك الذي يستخدمه خادم Tomcat. المحرك الذي يستخدمه Tomcat هو Catalina.
إضافة تطبيق عنصر السياق javaweb application في ملف aa.xml ، الرمز هو كما يلي:
<context docbase = "f: /javawebdemoproject" />
ملاحظة: لم يتم تحديد سمة المسار في عنصر السياق لتعيين اسم الدليل الظاهري. ثم اسم الدليل الافتراضي الذي تم تعيينه بواسطة "F:/JavawebDemoproject" هو Shenma ، وهو اسم ملف XML الذي يتم تحريره حاليًا.
إن أكبر ميزة لاستخدام هذه الطريقة لتعيين الدلائل الافتراضية هي أنك لا تحتاج إلى إعادة تشغيل خادم Tomcat بعد تعديل ملف التكوين. على سبيل المثال ، تعديل aa.xml إلى bb.xml. سيقوم خادم Tomcat تلقائيًا بإلغاء نشر السياق [/aa] ، ثم المعلومات تلقائيًا: نشر واصف التكوين d: /apache-tomcat-7.0.53/conf/catalina/localhost/bb.xml
3. تكوين خادم Tomcat المضيف الظاهري
3.1. تكوين المضيف الظاهري
تكوين مضيف افتراضي هو تكوين موقع ويب.
لتكوين مضيف افتراضي (موقع ويب) على خادم TomCat ، تحتاج إلى تعديل ملف تكوين Server.xml ضمن مجلد Conf ، واستخدم عنصر المضيف لتكوينه ، وفتح server.xml ، ويمكنك رؤية مضيف افتراضي (موقع ويب) يدعى LocalHost على خادم tomcat ، كما هو موضح في الشكل أدناه:
عادةً ما نضع تطبيق Javawebs المتقدم في مجلد WebApps ، وبعد ذلك يمكننا الوصول إليه باستخدام "http: // localhost: رقم المنفذ/javawebappname". في الواقع ، نحن نصل إلى المضيف الظاهري (المضيف) الذي هو اسم "المضيف المحلي". يدير هذا المضيف الظاهري جميع تطبيقات الويب في مجلد WebApps.
على سبيل المثال: http: // localhost: 8080/javawebdemoproject/1.jsp. يصل عنوان عنوان URL هذا إلى مورد الويب 1.JSP في تطبيق JavawebDemOproject ضمن المضيف الظاهري المسمى LocalHost.
يمكننا تكوين مضيف افتراضي بالطريقة التالية ، على سبيل المثال:
<host name = "www.gacl.cn" appbase = "f:/javawebapps"> </sover>
هنا لدينا تكوين جديد لمضيف افتراضي. اسم المضيف الظاهري هو "www.gacl.cn". يدير المضيف الظاهري "www.gacl.cn" الآن جميع تطبيقات الويب تحت مجلد Javawebapps. عادة ، عندما نستخدم اسم المجال "www.baidu.com" على الإنترنت لزيارة موقع Baidu على الويب ، فإننا نزور بالفعل مضيفًا افتراضيًا باسم "www.baidu.com". لذلك عندما نريد الوصول إلى المضيف الظاهري باسم "www.gacl.cn" ، يمكننا استخدام "اسم المجال (www.gacl.cn)" للوصول إليه. لاحظ أن appbase = "f:/javawebapps". لا يمثل مجلد Javawebapps هنا الدليل الجذر للمشروع ، ولكنه مجلد يخزن تطبيق Javaweb ، كما هو موضح في الشكل أدناه:
إنه مثل مجلد WebApps لخادم Tomcat ، الذي يخزن الكثير من تطبيقات Javaweb.
3.2. قم بتسجيل اسم المجال في نظام Windows
إذا أراد المضيف المكون (موقع الويب) الوصول إليه خارجيًا من خلال اسم المجال ، فيجب عليك تسجيل اسم المجال المستخدم عند الوصول إلى موقع الويب في نظام DNS أو نظام Windows والعثور على ملف المضيفين في دليل "C:/System32/Drivers/etc" ، كما هو موضح في الشكل أدناه:
قم بتحرير هذا الملف وربط اسم المجال وعنوان IP لموقع الويب المضافة حديثًا معًا ، حتى نتمكن من استخدام اسم المجال www.gacl.cn في المتصفح للوصول إلى تطبيقات الويب المدارة في اسم المضيف الافتراضي www.gacl.cn.
استخدم المتصفح للوصول إلى مورد Web 1.jsp ضمن تطبيق الويب Javawebdemo1 تحت اسم المجال "www.gacl.cn" من خلال اسم المجال "www.gacl.cn". يفتح المضيف الظاهري "www.gacl.cn" منفذ 8080. يمكن للمستخدمين فقط الوصول إلى مورد الويب 1.JSP تحت تطبيق الويب JavawebDemo1 من خلال منفذ 8080 للوصول إلى مورد الويب 1.JSP تحت تطبيق الويب JavawebDemo1 من خلال منفذ 8080 هذا
4. عملية التفاعل بين المتصفح والخادم
4.1. مخطط تفاعل المتصفح والخادم
مخطط تفاعل المتصفح والخادم
عندما نفتح المتصفح وندخل عنوان URL "http://www.gacl.cn:8080/javawebdemo1/1.jsp" في شريط عناوين المتصفح للوصول إلى مورد الويب 1.JSP على الخادم ، قام المتصفح والخادم بعملية سحرية. كيف نرى محتويات مورد الويب 1.JSP في المتصفح؟
يقوم المتصفح والخادم بما يلي:
1. يبحث المتصفح في اسم المضيف المقابل لاسم المضيف في ملف المضيفين لنظام التشغيل استنادًا إلى اسم المضيف "www.gacl.cn".
2. إذا لم يجد المتصفح عنوان IP المقابل في ملف مضيفات نظام التشغيل ، فانتقل إلى خادم DNS على الإنترنت للعثور على عنوان IP المقابل للمضيف "www.gacl.cn".
3. بعد أن يجد المتصفح عنوان IP المقابل للمضيف "www.gacl.cn" ، فإنه يستخدم عنوان IP للاتصال بخادم الويب.
4. بعد اتصال المتصفح بخادم الويب ، يستخدم بروتوكول HTTP لإرسال طلب إلى الخادم. أثناء عملية إرسال الطلب ، سيقوم المتصفح بنقل البيانات إلى خادم الويب في شكل دفق ، وإخبار مورد الويب الخاص بتطبيق الويب الذي يمكن الوصول إليه ، كما هو موضح في الشكل أدناه:
هذه هي البيانات المنقولة إلى الخادم عندما يرسل المتصفح طلبًا إلى خادم الويب. دعنا نوضح محتوى "get/javawebdemo1/1.jsp http/1.1".
الحصول على: أخبر خادم الويب أن المتصفح يرسل طلبات إلى الخادم في GET.
/javawebdemo1/1.jsp: أخبر خادم الويب أن المتصفح يريد الوصول إلى مورد الويب 1.JSP في تطبيق JavawebDemo1.
HTTP/1.1: يخبر خادم الويب أن المتصفح يطلبه باستخدام بروتوكول HTTP ويستخدم الإصدار 1.1.
5. بعد أن يكمل المتصفح الخطوات الأربع المذكورة أعلاه ، يبدأ الانتظار ، في انتظار نقل خادم الويب لمورد الويب 1.JSP الذي يريد الوصول إليه.
6. بعد استلام الخادم البيانات التي يتم نقلها بواسطة المتصفح ، يبدأ في تحليل البيانات المستلمة. عندما يقوم الخادم بتحليل المحتويات في "get /javawebdemo1/1.jsp http/1.1" ، فإنه يعرف أن متصفح العميل يريد الوصول إلى مورد الويب 1.JSP في تطبيق Javawebdemo1. ثم يقرأ الخادم المحتويات في مورد الويب 1.JSP وينقل محتويات القراءة إلى المتصفح في شكل دفق ، كما هو موضح في الشكل أدناه:
هذه هي البيانات المنقولة إلى المتصفح بواسطة خادم الويب.
7. بعد أن يحصل المتصفح على البيانات المنقولة إليها بواسطة الخادم ، يمكنه عرض البيانات إلى المستخدم ، كما هو موضح في الشكل أدناه:
"javawebdemo1" رأيته هو تأثير المتصفح الذي يحلل البيانات المرسلة من الخادم.
البيانات التي أرسلها الخادم مرة أخرى:
http/1.1 200 okserver: apache-coyote/1.1-content-type: text/html ؛ charset = iso-8859-1content-length: 102date: mon ، 19 May 2014 14:25:14 gmt <html> </body> </html>
هذه هي عملية التفاعل بين المتصفح والخادم.
5. هيكل تكوين تطبيقات Javaweb
عند تطوير تطبيقات Javaweb ، فإن أنواع الملفات المختلفة لها قواعد تخزين صارمة. خلاف ذلك ، قد لا يجعل تطبيق الويب لا يمكن الوصول إليه فحسب ، بل يؤدي أيضًا إلى بدء خادم الويب خطأ.
Webroot → الدليل الذي يوجد فيه تطبيق الويب. بشكل عام ، يجب تكوين الدليل الظاهري في هذا المجلد.
┝web-Inf: يجب أن يكون هذا المجلد موجودًا في مجلد Webroot ، ويجب تسميته في هذا النموذج ، مع رسائل مطلوبة للاستفادة منها.
┝web.xml: ملف التكوين ، مع متطلبات التنسيق ، يجب تسمية هذا الملف في هذا النموذج ويجب وضعه في مجلد الويب.
يمكن الرجوع مباشرة إلى تنسيق web.xml من tomcat: ابحث عن ملف web.xml في دليل webapps/root/web-inf في دليل tomcat ، ونسخ الملف إلى مجلد web-inf الذي تم إنشاؤه حديثًا ، وقم بتعديل ملف web.xml ، وحذف التعليقات في الداخل فقط: تاركًا الرمز الموضح أدناه:
web.xml:
<؟ XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" الإصدار = "2.5">
هذا هو تنسيق ملف web.xml.
ما سبق هو كل شيء عن هذا المقال ، آمل أن يكون مفيدًا لتعلم الجميع.