English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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
<!-- 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>
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>
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"; } }
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"> <!-- 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>
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: