English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل Spring MVC

Spring MVC هو إطار عمل Java يستخدم لبناء تطبيقات الويب. يتبع تصميم Model-View-Controller. إنه يحتوي على جميع الوظائف الأساسية لإطار عمل Spring مثل التدوير العكسي للتحكم، التدوير العكسي للإعتماد.

Spring MVC من خلال DispatcherServlet يقدم حلًا ممتازًا لاستخدام MVC في إطار Spring. >. هنا، DispatcherServlet هي صفحة كلاس تستقبل الطلبات المدخلة وتقوم بتحويلها إلى المصادر الصحيحة مثل المسؤول، النموذج والرؤية.

نموذج Spring Web Model-View-Controller

النموذج-النموذج يحتوي على بيانات التطبيق. يمكن أن تكون البيانات عنصرًا واحدًا أو مجموعة من العناصر. المستشار-المستشار يحتوي على منطق التطبيق للتطبيق. هنا، يستخدم التعليق @Controller لتمييز الصفحة كمسؤول. الرؤية-الرؤية تعبر عن المعلومات المقدمة بتشكيل معين. عادة ما يستخدم JSP + JSTL لإنشاء صفحات الرؤية. على الرغم من أن Spring تدعم أيضًا تقنيات عرض أخرى مثل Apache Velocity، Thymeleaf و FreeMarker. مدير الواجهة الأمامية- في Spring Web MVC، يتم استخدام فئة DispatcherServlet كـ مدير تحكم أمامي. وهي مسؤولة عن إدارة عملية تطبيق Spring MVC.


فهم عملية Spring Web MVC

كما يظهر في الشكل، يتم توقيف جميع الطلبات المدخلة بواسطة Servlet مدير التوزيع للمدير الأمامي. يستلم Servlet مدير التوزيع المدخلات لمسار المدير ويقوم بتوجيه الطلبات إلى مدير التحكم. ي�回ل مدير التحكم جسم ModelAndView. يتحقق Servlet مدير التوزيع من المدخل لـ محلل الرؤية في ملف XML ويقوم بتكليف العنصر المحدد.


مزايا Spring MVC Framework

دعونا نرى بعض المزايا لـ Spring MVC Framework: -

فصل الأدوار- يفصل Spring MVC كل دور، يمكن أن يتم تنفيذ كل دور بواسطة جسم معين، مثل جسم النموذج، مدير التحكم، جسم الأمر، محلل الرؤية، Servlet مدير التوزيع، مدير التحقق، إلخ. خفيف- يستخدم خادم servlet خفيف لتطوير وتنفيذ تطبيقك. تكوين قوي- يقدم تكوين موثوق للفئات والأجهزة الأخرى، بما في ذلك الاستدلال البسيط عبر النطاق، مثل من مدير التحكم Web إلى جسم الأعمال والمدقق. التطوير السريع- يسرع Spring MVC من عملية التطوير المتوازي. كود أعمال قابلة للإعادة الاستخدام- دون إنشاء جسم جديد، يجعلنا نستطيع استخدام جسم أعمال موجود. سهولة الاختبار- في Spring، عادةً ما ننشئ فئات JavaBeans، مما يتيح لك إدراج بيانات اختبارية باستخدام طرق الـ setter. تحويل مرن- يقدم تعليقات معينة تجعل التحويل إلى الصفحات سهلة.


مثال لـ Spring Web MVC Framework

دعونا نرى مثالاً بسيطاً لـ Spring Web MVC Framework. الخطوات التالية:

تحميل ملف jar لـ spring في Maven أو إضافة التبعية إنشاء فئة контролر توفير المدخل لل控制器 في ملف web.xml تحديد bean في ملف XML منفصل عرض الرسالة في صفحة JSP إطلاق الخادم وتركيب المشروع


بنية المجلدات لـ Spring MVC

مقارنة بنية المجلدات لـ Spring MVC باستخدام Maven


ملفات jar المطلوبة أو التبعيات Maven

للشروع في هذا المثال، تحتاج إلى تحميل:

ملف jar لـ Spring Core ملف jar لـ Spring Web ملفات jar لـ JSP + JSTL (إذا كنت تستخدم تقنية عرض أخرى، فتحميل jar المطلوب).

تحميل جميع ملفات jar لـ Spring، بما في ذلك JSP و JSTL.

إذا كنت تستخدم Maven، لا تحتاج إلى إضافة ملفات jar. الآن، تحتاج إلى إضافة إدخالات الاعتماد Maven إلى ملف pom.xml.

1- توفير معلومات المشروع والضبط في ملف pom.xml.

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.w3codebox</groupId>
  <artifactId>SpringMVC</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>SpringMVC Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.1.1.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>  
    <groupId>javax.servlet</groupId>  
    <artifactId>servlet-api</artifactId>  
    <version>3.0-alpha-1</version>  
</dependency>
  </dependencies>
  <build>
    <finalName>SpringMVC</finalName>
  </build>
</project>

2- إنشاء كلاس السيطرة

لإنشاء كلاس السيطرة، نستخدم تعليقات @Controller و @RequestMapping.

@Controller ملاحظة تُستخدم لتمييز هذا الكلاس كـ Controller.

@RequestMapping ملاحظة تستخدم لتوصيف الكلاسات التي تحتوي على URL المحددة.

HelloController.java

package com.w3codebox;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("/")
  public String display()
  {
    return "index";
  } 
}

3- تقديم مدخل للسيطرات في ملف web.xml

في هذا ملف xml، نحدد Servlet Class DispatcherServlet ليكون مدير الواجهة الأمامية لـ Spring Web MVC. جميع الطلبات المدخلة إلى ملف html ستتم إعادة توجيهها إلى DispatcherServlet.

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>SpringMVC</display-name>
   <servlet>  
    <servlet-name>spring</servlet-name>  
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    <load-on-startup>1</load-on-startup>    
</servlet>  
<servlet-mapping>  
    <servlet-name>spring</servlet-name>  
    <url-pattern>/</url-pattern>  
</servlet-mapping>  
</web-app>

4- تعريف bean في ملف XML.

هذا ملف الإعدادات المهم، يجب تحديد مكون عرض فيه.

عنصر context: component-scan يحدد الحزمة الأساسية لـ DispatcherServlet. سيتم البحث عن كلاسي تحتوي على كلمة Controller.

هذا الملف XML يجب أن يكون في مجلد WEB-INF.

spring-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:mvc="http://www.springframework.org/schema/mvc"
  xsi:schemaLocation="
    http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans.xsd
      http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context.xsd
      http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
  <!-- Provide support for component scanning -->
  <context:component-scan base-package="com.w3codebox" />
  <!-- Provide support for conversion, formatting and validation -->
  <mvc:annotation-driven/>
</beans>

5. عرض الرسالة في صفحة JSP

هذه صفحة JSP بسيطة تظهر الرسالة التي أعادتها التحكمة.

index.jsp

<html>
<body>
<p>مرحبًا بك في دليل Spring MVC</p>
</body>
</html>

الإخراج:



مؤشر MVC Spring