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

Esempio di Spring MVC con più controller

In Spring MVC, possiamo creare più controller in una volta. È necessario utilizzare @Controller Commenta la mappatura di ogni classe di controller. Ecco un esempio di Spring MVC con più controller. I passaggi sono i seguenti:

Carica il file jar di Spring in Maven o aggiungi la dipendenza Crea la classe del controller Fornisci l'entrata del controller nel file web.xml Definisci il bean in un file XML separato Crea altri componenti di vista Avvia il server e部署 il progetto


1、Aggiungi la dipendenza al file pom.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>

2、创建请求页面

Creiamo una pagina JSP semplice che contiene due link.

index.jsp

<html>
<body>
<a href="hello1">Spring MVC</a> ||
<a href="hello2">Spring Boot</a>
</body>
</html>

3、创建控制器类

Creiamo due classi di controller, ognuna delle quali restituisce una pagina di visualizzazione specifica.

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";
    }   
}

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、Definire Bean nel file xml

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">
    <!-- Supporto per la scansione dei componenti -->
    <context:component-scan base-package="com.w3codebox" />
    <!--Fornire supporto per la conversione, la formattazione e la validazione-->
    <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. Creazione di altri componenti di vista

viewpage1.jsp

<html>
<body>
<p>Benvenuti nel Tutorial di Spring MVC</p>
</body>
</html>

viewpage1.jsp

<html>
<body>
<p>Benvenuti nel Tutorial di Spring Boot</p>
</body>
</html>

Output: