Spring MVC - Esempio di controller di visualizzazione parametrizzabile

L'esempio seguente mostra come utilizzare il metodo Parameterizable View Controller di un Multi Action Controller utilizzando il framework Spring Web MVC. La vista parametrizzabile consente di mappare una pagina web con una richiesta.

package com.tutorialspoint;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{
	
   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Home");
      return model;
   } 
}

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
   <property name="mappings">
      <value>
         index.htm=userController
      </value>
   </property>
</bean>
<bean id="userController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
   <property name="viewName" value="user"/>
</bean>

Ad esempio, utilizzando la configurazione precedente, se URI.

  • /index.htm è richiesto, DispatcherServlet inoltrerà la richiesta a UserController controller con viewName impostato come user.jsp.

Per iniziare, disponiamo di un IDE Eclipse funzionante e atteniamo ai seguenti passaggi per sviluppare un'applicazione Web basata su modulo dinamico utilizzando Spring Web Framework.

Passo Descrizione
1 Crea un progetto con un nome TestWeb sotto un pacchetto com.tutorialspoint come spiegato nel capitolo Spring MVC - Hello World.
2 Creare un UserController di classe Java nel pacchetto com.tutorialspoint.
3 Crea un file di visualizzazione user.jsp nella sottocartella jsp.
4 Il passaggio finale è creare il contenuto dei file sorgente e di configurazione ed esportare l'applicazione come spiegato di seguito.

UserController.java

package com.tutorialspoint;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{
	
   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Home");
      return model;
   }
}

TestWeb-servlet.xml

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:context = "http://www.springframework.org/schema/context"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "
   http://www.springframework.org/schema/beans     
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

   <bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name = "prefix" value = "/WEB-INF/jsp/"/>
      <property name = "suffix" value = ".jsp"/>
   </bean>

   <bean class = "org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
      <property name = "mappings">
         <value>
            index.htm = userController
         </value>
      </property>
   </bean>
   <bean id = "userController" class = "org.springframework.web.servlet.mvc.ParameterizableViewController">
      <property name = "viewName" value="user"/>
   </bean>
</beans>

user.jsp

<%@ page contentType="text/html; charset=UTF-8" %>
<html>
   <head>
      <title>Hello World</title>
   </head>
   <body>
      <h2>Hello World</h2>  
   </body>
</html>

Una volta terminata la creazione dei file sorgente e di configurazione, esporta la tua applicazione. Fai clic con il tasto destro sulla tua applicazione, usaExport → WAR File opzione e salva il file TestWeb.war file nella cartella webapps di Tomcat.

Ora avvia il tuo server Tomcat e assicurati di essere in grado di accedere ad altre pagine web dalla cartella webapps utilizzando un browser standard. Ora prova un URL -http://localhost:8080/TestWeb/index.htm e vedrai la seguente schermata, se tutto va bene con l'applicazione Web Spring.