Showing posts with label Spring MVC. Show all posts
Showing posts with label Spring MVC. Show all posts

Monday, December 11, 2017

Spring MVC CRUD

Après avoir vu le traitement du formulaire avec Spring  ici , je vous présente aujourd’hui une petite application qui permet d’ajouter, lire, modifier et supprimer un employe de la base de données. 

Pour débuter, Apres avoir créé un projet maven nommé  SpringMvcCrud.
il faut ajouter les dependencies dans le fichier pom.xml.





Voici aussi le fichier de configuration de la base de données:

La classe Employe.java

Créer l'interface IEmployeDao

Créer la classe EmployeDao qui implémente l'interface IEmployeDao





La page d'ajout EmployeForm.jsp

La page de consultation Home.jsp

Il ne faut pas oublier la modification dans le fichier web.xml

Voici une vidéo pour cet exemple:



Code source complet  github

Sunday, October 18, 2015

spring mvc avec annotation

Nous allons vous montrer un petit exemple simple de SpringMVC.
Apres avoir créer un projet maven , je vais configuer spring ,en ajoutant les dependances qu'il faut dans le ficher pom.xml

Dans le fichier web.xml, nous devons ajouter la servlet de spring:
org.springframework.web.servlet.DispatcherServlet

Nous allons aussi ajouter contextConfigLocation dans le fichier web.xml
Dans la valeur nous allons mettre le chemin de fichier de configuration de spring.
Ce fichier nommé dispatcher-servlet.xml,doit respecter la regle de son nomination qui le nom de la servlet +-servlet.xml.
Voici le fichier de configuration

Nous allons créer la classe controleur nomme HelloWorldController

Nous devons ajouter @RequestMapping pour indiquer que la methode est mappé sur le chemin d'URI
Nous allons ajouter @RequestParam.@RequestParam permet d'extraire un paramètre de type String et de nom "nom".
Nous allons developper maintenant la page index.jsp et helloworld.jsp

Voici le contenu dela page helloworld

Nous devons créer un repertoire views dans lequel nous mettons la page helloworld
Configurons le fichier de spring dispatcher-servlet.xml
Le video suivant vous aider à mieux comprendre les etapes.


Tuesday, December 16, 2014

SpringMVC



Dans le cas de SpringMVC le conteneur va servir à créer:

-Le contexte de l’application Web
-Les objets traitant les requêtes (Controller)
-Les objets créant les pages HTML (View)
-Les objets données des formulaires (Command)
-Les liens avec les couches métiers et BD
-Et pleins d’autres
-Le mapping des URL vers les contrôleurs
-Le mapping des vues , etc.

Voici le shéma qui montre intervention de spring MVC dans la couche présenation de l'application





En effet  spring mvc fonctionne par certains aspects de façon similaire à Struts : une servlet frontale va prendre l’ensemble des requêtes et les dispatcher à ses contrôleurs, ces contrôleurs sont des singletons issus d’une fabrique Spring.


Le Controller

La org.srinframework.web.servlet.DisatcherServlet est le point d’entrée générique qui délègue les requêtes à des Controller.

Un org.springframework.web.servlet.mvc.Controller prend en charge une requête, et utilise la couche métier pour y répondre.

Un Controller fabrique un modèle sous la forme d’une java.util.Map contenant les éléments de la réponse.

Un Controller choisit une org.springframework.web.servlet.View qui sera paramétrée par la Map pour donner la page qui sera affichée.  


web.xml 
Le fichier web.xml va contenir :
  1.        Une servlet pour dispatcher les requêtes aux contrôleurs.
  2.         Un mapping de servlet
On aboutit à ce fichier:

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
  <web-app>
 <display-name> Created Web Application</display-name>

on déclare la servlet frontale 

 <servlet>
 <servlet-name>spring-mvc-webapp</servlet-name>
 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 <load-on-startup>1</load-on-startup>
 </servlet>  

Toutes les requêtes se terminant par .html seront servis par la servlet frontal

<servlet-mapping>
 <servlet-name>spring-mvc-webapp</servlet-name>
 <url-pattern>*.html</url-pattern>
 </servlet-mapping>
  </web-app>
    
Dans un contexte Web avec Spring MVC, il faut comprendre qu'il y a en générale 2 contexte différents.

Le premier est créée par le ContextLoaderListener, et par défaut il va chercher un applicationContext.xml.Ce contexte est général à l'application et est chargé lors du démarrage de celle-ci.
Ensuite, tu as un contexte propre à la servlet, créé par la DispatcherServlet.
Si dans ton
mapping celle-ci porte le nom maservlet, alors elle cherchera un fichier maservlet-servlet.xml

Il faut editer le fichier de configuration de spring:
/WEB-INF/ maservlet-servlet.xml
Dans ce fichier on doit déclarer ceci:


Voici la structure du projet springmvc:




Dans le fichier xml de configuration,on doit ajouter la déaclaration du controller HelloWorldController comme suit:



 Voici la classe HelloWorldController  qui implemente le controller




       Nous allons ajouter une autre page pour afficher le résultat au lieux de PrintWriter  pour cela nous devons créer ModelAndView et lui passer le nom de model et sa valeur

ModelAndView(String viewName, String modelName, Object modelObject)


                        

Dans la page finale hello.jsp , on recupere la valuer envoye dans la variable txt.