Créer une application Spring MVC est assez simple. Dans cet article je vais vous montrer comment le faire avec Intellij Idea

Créer le projet

Ouvrir l’application IDEA puis New -> Project. Ce qui est demandé à cette étape est le nom du projet. Nous l’appelons ‘ExampleSpring’.
IDEA New Project 1

Cliquer sur Next

L’étape 2 propose le JDK par défaut

IDEA New Project 2

Cliquer sur Next

A cette étape, il faut choisir si le projet est Single Module ou multiple modules (Web, EJB, etc…) Nous choisirons multiple modules.

IDeA New Project 3

Cliquer sur Next

Choisir le type de module : on choisit un module Web pour notre application web Spring MVC.

IDEA New Project 4

Cliquer sur Next

Définir le répertoire racine de notre Web application.

IDEA New Project 5

Cliquer sur Next

Le panneau suivant nous montre la location du fichier descripteur de deploiement

IDEA New Project 6

Cliquer sur Next

Choisir le répertoire ou seront créées les ressources web (JSP, HTML, images)

IDEA New Project 7

Cliquer sur Next

Définir le répertoire ‘exploded’ Dans notre cas, comme j’utiliserai un fichier build.xml pour Ant, on n’a pas besoin de ce setup.

IDEA New project 8

Cliquer sur Next

Choisir le répertoire où seront créés les fichiers .java
IDEA New Project 9

Cliquer sur Next

Enfin choisir le répertoire pour les .class

IDEA New Project 10

Cliquer sur Finish

Ajouter les librairies

Maintenant nous allons ajouter les librairies de Spring au projet. Aller sur le site http://www.springframework.org/

Downloader la version 1.2.6, avec ou sans les dépendances. Pour l’exemple nous n’ajouterons que les librairies qui nous intéressent:

spring-core.jar, spring-beans.jar, spring-context.jar, spring-web.jar et spring-webmvc.jar

Pour notre JSP nous utiliseront JSTL. Downloader depuis Jakarta TagLibs

Copier tous les jars dans le répertoire WEB-INF/lib de votre projet. Depuis Idea, ajouter ces dépendances. Clique droit sur le module dans le panneau Project, choisir ‘Module settings’.

Cliquer sur l’onglet ‘Libraries (classpath)’

Ajouter les librairies de Spring, ainsi que jstl-xxx.jar et standard.jar

IDEA Libraries

Cliquer sur OK

Configuration – web.xml

Spring MVC utilise une servlet Spring en tant que controleur (org.springframework.web.servlet.DispatcherServlet) Cela nécessite donc une configuration du fichier web.xml

Ouvrir le fichier et ajouter les lignes suivantes:

web.xml
Ajouter dans le répertoire WEB-INF/tld, le fichier c.tld pour JSTL.

Configuration – Spring

Maintenant que nous avons configuré les bases de l’application web, passons à Spring. Dans une application web Spring, toute la configuration de l’application se fait dans un fichier XML. Ce fichier prend le nom de la servlet controleur (voir web.xml) comme préfixe, avec “-servlet.xml” concaténé. Dans notre cas cela donnera un fichier dont le nom complet est ‘example-servlet.xml’.

Ce fichier devra être sauvé dans le répertoire WEB-INF.

example-servlet.xml

Le fichier configure deux beans Spring.

Le premier bean configure un mapping d’URL et definit que tout appel à /hello.html sera traité par ExampleSpringController . Le second bean définit la classe example.ExampleSpringController associée au controleur.

Créer les pages web

L’application étant très simple, seuls deux fichiers JSP sont nécessaires. Le premier affiche un texfield dans lequel l’utilisateur va saisir son nom. La seconde JSP affiche simplement le nom saisi.

index.jsp

Sur cette page, nous avons un formulaire simple :quand nous saisissons le nom et après avoir appuyé sur Entrée, l’action “hello.html” est appelée.

Dans le fichier de configuration de Spring (example-servlet.xml) nous avons mappé ‘hello.html’ sur le controleur ExampleSpringController. Créons désormais la JSP welcome.jsp (dispatch du controleur), dont le contenu est ci dessous:

welcome.jsp

Le controleur Spring

La phase final de cette simple application, est de créer la classe controleur. Dans IDEA, clique droit sur le noeud ’src’, puis créer un package, ‘example’. Puis Clique droit sur le noeud ’src/example’, créer la classe ‘ExampleSpringController’ dont le contenu est affiché ci dessous :

Controleur Spring

La chose la plus importante a connaitre est que le controleur doit implémenter l’interface Controller . Cette interface spécifie que la méthode handleRequest doit être implémentée. Cette méthode retourne l’objet ModelAndView, a qui on passe le nom de la vue sans l’extension : welcome (pour ‘welcome.jsp’), ainsi que le modèle username

Build et Run

Nous créons un fichier build.xml pour Ant, contenant les 5 tâches clean, init, compile, war et deploy .

Le déploiement se fait sur le serveur d’applications JBoss.

Clique droit dans Idea, sur le fichier build.xml, puis ‘Add as Ant build file’. Dans la fenetre Ant (cf ci dessous) exécuter la tâche deploy.

build.xml
Ouvrir le navigateur sur l’adresse : http://localhost:8080/spring-demo/index.jsp

index.jsp

Les sources de ce mini tutoriel sont téléchargeables ici

Les ressources sont :

Spring in Action

J2EE Development without EJB