چندین کنترلر
مثال کنترلر های متعدد MVC در اسپرینگ
در MVC اسپرینگ می توان همزمان چندین کنترلر ایجاد کرد. برای این منظور لازم است تا کلاس هر کنترلر به نماد @Controller نگاشت شود. در اینجا یک مثال از کنترلرهای متعدد در MVC اسپرینگ را می بینیم. مراحل به شرح زیر است:
- فایل های jar اسپرینگ را بارگذاری کنید یا در صورت استفاده از Maven، وابستگی ها را اضافه کنید.
- کلاس کنترلر را ایجاد کنید.
- ورودی کنترلر را در فایل web.xml آماده کنید.
- در یک فایل xml جداگانه، bean را تعریف کنید.
- سایر اجزای منظر را ایجاد کنید.
- سرور را شروع کنید و پروژه را مستقر کنید.
1- به pom.xml وابستگی ها را اضافه کنید.
< dependency>
< groupId>org.springframework< /groupId>
< artifactId>spring-webmvc< /artifactId>
< version>5.1.1.RELEASE< /version>
< /dependency>
< dependency>
< groupId>javax.servlet< /groupId>
< artifactId>servlet-api< /artifactId>
< version>3.0-alpha-1< /version>
< /dependency>
2- صفحه درخواست را ایجاد کنید.
یک صفحه ساده JSP شامل دو لینک ایجاد کنید.
index.jsp
< html> < body> < a href="hello1">Spring MVC< /a> || < a href="hello2">Spring Boot< /a> < /body> < /html>
3- کلاس کنترلر را ایجاد کنید.
دو کلاس کنترلر که هر کدام یک صفحه منظر بخصوصی را باز می گردانند، ایجاد کنید.
HelloController.java
package com.javatpoint;
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.javatpoint;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController2 {
@RequestMapping("/hello2")
public String display()
{
return "viewpage2";
}
}
4- در فایل web.xml ورودی کنترلر را آماده کنید.
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>
5- در فایل xml ، bean را تعریف کنید.
حال تصمیم گیرنده منظر (view resolver) را با اجزای منظر (view component) آماده می کنیم. در اینجا از کلاس InternalResourceViewResolver برای ViewResolver استفاده شده است. پیشوند+رشته که توسط صفحه کنترلر+پسوند بازگردانده شده است، برای اجزای منظر فراخوانی خواهد شد. فایل xml باید درون دایرکتوری WEB-INF قرار داده شود.
spring-servlet.xml
< ?xml version="1.0" encoding="UTF-8" ?>
< beans xmlns="http://www.springframework.org/schema/beans"
3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4. xmlns:context="http://www.springframework.org/schema/context"
5. xmlns:mvc="http://www.springframework.org/schema/mvc"
6. 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.javatpoint" />
< 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>
6- سایر اجزای منظر را ایجاد کنید
viewpage1.jsp
< html> < body> < p>Welcome to Spring MVC Tutorial< /p> < /body> < /html>
viewpage1.jsp
< html> < body> < p>Welcome to Spring Boot Tutorial< /p> < /body> < /html>
خروجی :