Spring - Exemple de pages statiques

L'exemple suivant montre comment écrire une application Web simple à l'aide de Spring MVC Framework, qui peut accéder à des pages statiques avec des pages dynamiques à l'aide de la balise <mvc: resources>. Pour commencer, mettons en place un IDE Eclipse fonctionnel et suivons les étapes suivantes pour développer une application Web basée sur un formulaire dynamique à l'aide de Spring Web Framework -

Étape La description
1 Créez un projet Web dynamique avec un nom HelloWeb et créez un package com.tutorialspoint sous le dossier src dans le projet créé.
2 Faites glisser et déposez ci-dessous Spring et d'autres bibliothèques dans le dossier WebContent / WEB-INF / lib .
3 Créez un WebController de classe Java sous le package com.tutorialspoint .
4 Créez les fichiers de configuration Spring Web.xml et HelloWeb-servlet.xml dans le dossier WebContent / WEB-INF .
5 Créez un sous-dossier avec un nom jsp sous le dossier WebContent / WEB-INF . Créez un fichier de vue index.jsp sous ce sous-dossier.
6 Créez un sous-dossier avec un nom de pages sous le dossier WebContent / WEB-INF . Créez un fichier statique final.htm sous ce sous-dossier.
sept La dernière étape consiste à créer le contenu de tous les fichiers source et de configuration et à exporter l'application comme expliqué ci-dessous.

Voici le contenu de WebController.java fichier

package com.tutorialspoint;

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

@Controller
public class WebController {
   @RequestMapping(value = "/index", method = RequestMethod.GET)
   public String index() {
      return "index";
   }
   @RequestMapping(value = "/staticPage", method = RequestMethod.GET)
   public String redirect() {
      return "redirect:/pages/final.htm";
   }
}

Voici le contenu du fichier de configuration Spring Web web.xml

<web-app id = "WebApp_ID" version = "2.4"
   xmlns = "http://java.sun.com/xml/ns/j2ee" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://java.sun.com/xml/ns/j2ee 
   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 
   <display-name>Spring Page Redirection</display-name>
 
   <servlet>
      <servlet-name>HelloWeb</servlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>
   
   <servlet-mapping>
      <servlet-name>HelloWeb</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
  
</web-app>

Voici le contenu d'un autre fichier de configuration Spring Web HelloWeb-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-2.5.xsd
   http://www.springframework.org/schema/mvc
   http://www.springframework.org/schema/mvc/spring-mvc-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 id = "viewResolver" 
      class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
      
      <property name = "prefix" value = "/WEB-INF/jsp/" />
      <property name = "suffix" value = ".jsp" />
   </bean>
    
   <mvc:resources mapping = "/pages/**" location = "/WEB-INF/pages/" />
   <mvc:annotation-driven/>
    
</beans>

Ici <mvc:resources..../>est utilisé pour mapper des pages statiques. lemappingL'attribut doit être un modèle Ant qui spécifie le modèle d'URL d'une requête http. lelocationL'attribut doit spécifier un ou plusieurs emplacements de répertoire de ressources valides ayant des pages statiques comprenant des images, des feuilles de style, JavaScript et d'autres contenus statiques. Plusieurs emplacements de ressources peuvent être spécifiés à l'aide d'une liste de valeurs séparées par des virgules.

Voici le contenu du fichier de vue Spring WEB-INF/jsp/index.jsp. Ce sera une page de destination; cette page enverra une demande d'accèsstaticPage méthode de service, qui redirigera cette demande vers une page statique disponible dans le dossier WEB-INF / pages.

<%@taglib uri = "http://www.springframework.org/tags/form" prefix = "form"%>
<html>
   <head>
      <title>Spring Landing Page</title>
   </head>

   <body>
      <h2>Spring Landing Pag</h2>
      <p>Click below button to get a simple HTML page</p>
      
      <form:form method = "GET" action = "/HelloWeb/staticPage">
         <table>
            <tr>
               <td>
                  <input type = "submit" value = "Get HTML Page"/>
               </td>
            </tr>
         </table>  
      </form:form>
   </body>
   
</html>

Voici le contenu du fichier de vue Spring WEB-INF/pages/final.htm.

<html>
   <head>
      <title>Spring Static Page</title>
   </head>

   <body>
      <h2>A simple HTML page</h2>
   </body>
</html>

Enfin, voici la liste des bibliothèques Spring et autres à inclure dans votre application Web. Il vous suffit de faire glisser ces fichiers et de les déposerWebContent/WEB-INF/lib dossier.

  • commons-logging-x.y.z.jar
  • org.springframework.asm-x.y.z.jar
  • org.springframework.beans-x.y.z.jar
  • org.springframework.context-x.y.z.jar
  • org.springframework.core-x.y.z.jar
  • org.springframework.expression-x.y.z.jar
  • org.springframework.web.servlet-x.y.z.jar
  • org.springframework.web-x.y.z.jar
  • spring-web.jar

Une fois que vous avez terminé de créer les fichiers source et de configuration, exportez votre application. Faites un clic droit sur votre application et utilisezExport > WAR File option et enregistrez votre HelloWeb.warfichier dans le dossier webapps de Tomcat .

Démarrez maintenant votre serveur Tomcat et assurez-vous que vous pouvez accéder à d'autres pages Web à partir du dossier Webapps à l'aide d'un navigateur standard. Essayez maintenant d'accéder à l'URLhttp://localhost:8080/HelloWeb/index. Si tout va bien avec votre application Web Spring, vous devriez voir le résultat suivant -

Cliquez sur le bouton "Obtenir la page HTML" pour accéder à une page statique mentionnée dans la méthode de service staticPage. Si tout va bien avec votre application Web Spring, vous devriez voir le résultat suivant.