English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في Spring MVC، يمكننا إنشاء عدة تحكمات في وقت واحد. يجب استخدام @Controller تعليق تعيين كل فئة تحكم. هنا، نرى مثال على Spring MVC مع عدة تحكمات. الخطوات التالية:
تحميل ملف jar الخاصة بـ spring في Maven أو إضافة الاعتماد إنشاء فئة التحكم توفير مدخل التحكم في ملف web.xml تعريف bean في ملف XML منفرد إنشاء مكونات الرؤية الأخرى تشغيل الخادم وتوزيع المشروع
<-- 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>
دعونا ننشئ صفحة JSP بسيطة تحتوي على رابطين.
index.jsp
<html> <body> <a href="hello1">Spring MVC</a> || <a href="hello2">Spring Boot</a> </body> </html>
دعونا ننشئ كلاسيوين للتحكم، كل كلاسيك يرجع إلى صفحة عرض محددة.
HelloController1.java
package com.w3codebox; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController1 { @RequestMapping("/hello1") public String display() { return "viewpage1"; } }
HelloController2.java
package com.w3codebox; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController2 { @RequestMapping("/hello2") public String display() { return "viewpage2"; } }
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>
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"> <!-- توفير الدعم للتصنيف المكوني --> <context:component-scan base-package="com.w3codebox" /> <!-- Provide support for conversion, formatting and validation --> <mvc:annotation-driven/> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans>
viewpage1.jsp
<html> <body> <p>مرحبًا بكم في تعليمية Spring MVC</p> </body> </html>
viewpage1.jsp
<html> <body> <p>مرحبًا بكم في تعليمية Spring Boot</p> </body> </html>
الإخراج: