Spring MVC - Esempio di Resolver vista risorsa interna

Il InternalResourceViewResolverviene utilizzato per risolvere l'URI fornito nell'URI effettivo. L'esempio seguente mostra come utilizzare InternalResourceViewResolver utilizzando Spring Web MVC Framework. InternalResourceViewResolver consente di mappare pagine Web con richieste.

package com.tutorialspoint;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.ui.ModelMap;

@Controller
@RequestMapping("/hello")
public class HelloController{
 
   @RequestMapping(method = RequestMethod.GET)
   public String printHello(ModelMap model) {
      model.addAttribute("message", "Hello Spring MVC Framework!");

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

Ad esempio, utilizzando la configurazione precedente, se URI

  • / hello è richiesto, DispatcherServlet inoltrerà la richiesta al prefisso + viewname + suffix = /WEB-INF/jsp/hello.jsp.

Per cominciare, disponiamo di un IDE Eclipse funzionante e quindi consideriamo i 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 Example.
2 Crea un HelloController delle classi Java nel pacchetto com.tutorialspoint.
3 Crea un file di visualizzazione hello.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.

HelloController.java

package com.tutorialspoint;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.ui.ModelMap;

@Controller
@RequestMapping("/hello")
public class HelloController{
 
   @RequestMapping(method = RequestMethod.GET)
   public String printHello(ModelMap model) {
      model.addAttribute("message", "Hello Spring MVC Framework!");

      return "hello";
   }

}

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

   <context:component-scan base-package = "com.tutorialspoint" />

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

hello.jsp

<%@ page contentType = "text/html; charset = UTF-8" %>
<html>
   <head>
      <title>Hello World</title>
   </head>
   <body>
      <h2>${message}</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. Prova ad accedere all'URL -http://localhost:8080/TestWeb/hello e se tutto va bene con l'applicazione Web Spring, vedremo la schermata seguente.