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

Exemplo de multi-controlador do Spring MVC

No Spring MVC, podemos criar múltiplos controladores ao mesmo tempo. É necessário usar @Controller Comentários mapeando cada classe de controlador. Aqui, vemos um exemplo de Spring MVC com múltiplos controladores. Os passos são os seguintes:

Carregar o arquivo jar do Spring no Maven ou adicionar dependências Criar controlador de classe Fornecer entrada do controlador no arquivo web.xml Definir bean em arquivo XML separado Criar outros componentes de vista Iniciar o servidor e implantar o projeto


1、adicionar dependências ao 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、criar página de solicitação

Vamos criar uma página JSP simples contendo dois links.

index.jsp

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

3、criar controlador de classe

Vamos criar dois controladores de classe, cada controlador de classe retorna uma página de vista específica.

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、在xml文件中定义Bean

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">
    <!-- Fornece suporte para scan de componentes -->
    <context:component-scan base-package="com.w3codebox" />
    <!--Fornece suporte para conversão, formatação e validação -->
    <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、Criar Outros Componentes de Visualização

viewpage1.jsp

<html>
<body>
<p>Bem-vindo ao Tutoriais do Spring MVC</p>
</body>
</html>

viewpage1.jsp

<html>
<body>
<p>Bem-vindo ao Tutoriais do Spring Boot</p>
</body>
</html>

Saída: