logo

ويب بداية التمهيد الربيع

هناك ميزتان مهمتان لـ Spring-Boot-starter-Web:

  • وهو متوافق لتطوير الويب
  • التكوين التلقائي

إذا أردنا تطوير تطبيق ويب، نحتاج إلى إضافة التبعية التالية في ملف pom.xml:

 org.springframework.boot spring-boot-starter-web 2.2.2.RELEASE 

يستخدم Starter of Spring web Spring MVC وREST وTomcat كخادم مضمن افتراضي. تسحب تبعية الويب الربيعية الفردية بشكل عابر جميع التبعيات المتعلقة بتطوير الويب. كما أنه يقلل من عدد تبعيات البناء. تعتمد شبكة Spring-boot-starter-web بشكل عابر على ما يلي:

  • org.springframework.boot:spring-boot-starter
  • org.springframework.boot:spring-boot-starter-tomcat
  • org.springframework.boot:spring-boot-starter-validation
  • com.fasterxml.jackson.core:jackson-databind
  • org.springframework:spring-web
  • org.springframework:spring-webmvc

افتراضيًا، يحتوي Spring-boot-starter-web على تبعية خادم Tomcat التالية:

 org.springframework.boot spring-boot-starter-tomcat 2.0.0.RELEASE compile 

يقوم Spring-boot-starter-web تلقائيًا بتكوين الأشياء التالية المطلوبة لتطوير الويب:

جافا لامدا
  • المرسل Servlet
  • صفحة الخطأ
  • Web JARs لإدارة التبعيات الثابتة
  • حاوية servlet مدمجة

خادم الويب المضمن لـ Spring Boot

يتضمن كل تطبيق Spring Boot خادمًا مضمنًا. يتم تضمين الخادم المضمن كجزء من التطبيق القابل للنشر. تتمثل ميزة الخادم المضمن في أننا لا نحتاج إلى خادم مثبت مسبقًا في البيئة. مع Spring Boot، يكون الخادم المضمن الافتراضي هو هر . يدعم Spring Boot أيضًا خادمين مضمنين آخرين:

    خادم جيتي خادم تحت الأرض

استخدام خادم ويب مضمن آخر

ل مكدس servlet التطبيقات، Spring-Boot-Starter-Web يشمل هر عن طريق شمل Spring-Boot-Starter-Tomcat ، ولكن يمكننا استخدامها الربيع التمهيد بداية رصيف المراكب الصغيرة أو Spring-Boot-Starter-Undertow بدلاً من.

ل مكدس رد الفعل التطبيقات، Spring-Boot-Starter-webflux يشمل مفاعل نيتي عن طريق شمل Spring-Boot-Starter-Reactor-netty ، ولكن يمكننا استخدامها Spring-Boot-Starter-Tomcat، Spring-Boot-Starter-Jetty، أو Spring-Boot-Starter-Undertow بدلاً من.

خادم جيتي

يدعم Spring Boot أيضًا خادمًا مضمنًا يسمى خادم جيتي . إنه خادم HTTP وحاوية Servlet لديه القدرة على تقديم محتوى ثابت وديناميكي. يتم استخدامه عندما يكون الاتصال من آلة إلى آلة مطلوبًا.

إذا أردنا إضافة خادم Jetty في التطبيق، فنحن بحاجة إلى إضافة ملف الربيع التمهيد بداية رصيف المراكب الصغيرة التبعية في ملف pom.xml الخاص بنا.

يتذكر: أثناء استخدام خادم Jetty في التطبيق، تأكد من أن خادم Tomcat الافتراضي هو مستبعد من Spring-Boot-Starter-Web. إنه يتجنب الصراع بين الخوادم.

الاتصالات المحجوبة
 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-jetty 

يمكننا أيضًا تخصيص سلوك خادم Jetty باستخدام application.properties ملف.

خادم تحت الأرض

يوفر Spring Boot خادمًا آخر يسمى تحت . وهو أيضًا خادم ويب مضمن مثل Jetty. هو مكتوب بلغة Java ويتم إدارته ورعايته بواسطة JBoss. المزايا الرئيسية لخادم Undertow هي:

  • يدعم HTTP/2
  • دعم ترقية HTTP
  • دعم ويبسوكيت
  • يوفر الدعم لـ Servlet 4.0
  • مرن
  • قابل للتضمين

يتذكر: أثناء استخدام خادم Undertow في التطبيق، تأكد من أن خادم Tomcat الافتراضي هو مستبعد من Spring-Boot-Starter-Web. إنه يتجنب الصراع بين الخوادم.

 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-undertow 

يمكننا أيضًا تخصيص سلوك خادم Undertow باستخدام application.properties ملف.

لينكس $المنزل

Spring-boot-starter-web مقابل Spring-boot-starter-tomcat

تحتوي شبكة Spring-boot-starter-web على تبعيات الويب الربيعية التي تتضمن Spring-boot-starter-tomcat. تحتوي شبكة Spring-boot-starter-web على ما يلي:

  • بداية التمهيد الربيع
  • جاكسون
  • قلب الربيع
  • الربيع-mvc
  • Spring-Boot-Starter-Tomcat

بينما ال Spring-Boot-Starter-Tomcat يحتوي على كل ما يتعلق بخادم Tomcat.

  • جوهر
  • هو
  • تسجيل
  • websocket

يحتوي Starter-Tomcat على التبعيات التالية:

 org.apache.tomcat.embed tomcat-embed-core 8.5.23 compile org.apache.tomcat.embed tomcat-embed-el 8.5.23 compile org.apache.tomcat.embed tomcat-embed-websocket 8.5.23 compile 

يمكننا أيضا أن نستخدم الربيع-mvc دون استخدام خادم Tomcat المضمن. إذا أردنا القيام بذلك، فنحن بحاجة إلى استبعاد خادم Tomcat باستخدام ملف العلامة كما هو موضح في الكود التالي

 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat 

تحميل مشروع تحميل مشروع