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