Publier
Consulter, acheter et télécharger des documents, présentations, modèles et ebooks sur Needocs (PDF, Word, Powerpoint, Excel)

MVC et applications Web : Servlets/JSP et modèle MVC Model2, Struts

Téléchargement
Publié par : Tutorrent
MVC et applications Web
Servlets/JSP et modèle MVC
Model2, Struts
Pierre­Yves Gibello ­ pierreyves.gibello@experlog.com
Mise à jour : 30 Septembre 2004
Ce document est couvert par la licence Creative Commons Attribution­ShareAlike.
This work is licensed under the Creative Commons Attribution­ShareAlike License. 

Modèle MVC
• Model / View / Controller
– Modèle : l ’application métier, les données… 
ce qui est manipulé par l ’
  application.
– Vue : présentation de l ’état du modèle 
(généralement à un utilisateur)
– Contrôleur : interface d ’action sur le modèle 
(par exemple, pour les mises à jour)
• L ’interface utilisateur, composée de vues, 
intéragit avec le contrôleur.

Le Pattern MVC
Une « boucle de rétroaction »...
Utilisateur
Voit
Utilise
Vue(s)
Contrôleur
Manipule
Rafraîchit
Modèle
Application

Servlets/JSP « Mo
 
del2 »
 
N (1) requête
(2) action sur le modèle
Servlet
Modèle
Navigateur
Contrôleur
(beans, BD…)
HTML
(3) forward
(4) rafraîchir vue
(5) réponse
JSP
Vue

Exemple : Servlet Contrôleur
public class ControllerServlet extends HttpServlet
{
public void doGet (HttpServletRequest req,
HttpServletResponse res)
throws ServletException,IOException {
String action = req.getParameter("action");
if("consulter".equals(action)) {
String nom = req.getParameter("nom");
if(nom == null) forward("error.jsp", req,
res);
else {
String tel = annuaire.chercherContact(nom);
req.setAttribute("tel", tel);
forward("contact.jsp", req, res);
}
} else if ("modifier".equals(action)) {
// ...
  

Struts
• Servlet Contrôleur générique
– org.apache.struts.action.ActionServlet 
– servlet­mapping sur « *.do »
• Interaction avec le modèle
– ActionForm et Action à implémenter
• WEB­INF/struts­config.xml
– Association URL(.do)/ActionForm/Action/Vue JSP
• Taglibs utilitaires
– struts­html, struts­logic, struts­bean

Struts : architecture
(1)
ActionServlet
ActionForm
Appel java
Contrôleur
Accède  à
(2)
Action
JSP
forward
Modèle
Vue

ActionForm
• Java Bean
• getter et setter pour chaque champ de 
formulaire
• gestion d ’erreur (validate() pour validation 
de formulaire)
• associé à une URL « .do », une Action et 
une vue JSP dans struts­config.xml

Action
• Classe qui intéragit avec l ’objet métier et 
l ’ActionForm
– Etend org.apache.struts.action.Action
– public ActionForward perform(
ActionMapping mapping, ActionForm form, 
HttpServletRequest request, 
HttpServletResponse response) 
• Lien avec l ’ActionForm, l ’URL et les 
vues (forward) dans struts­config.xml
– ActionMapping pour accéder à l ’information, 
et pour le forward(vue)

struts­config.xml
<form­beans>
   Implém. de 
  <form­bean name=«myForm »
l ’ActionForm
     type=« mypackage.MyForm »/>
</form­beans>
<!­­ association URL.do/ActionForm/Action/vue ­­>
<action­mappings>
  <action path=«/myform »
         Signifie «/myform.do»
      type=«mypackage.MyAction »
      name=«myForm »
 
     Implém. de l ’Action
      input=«/saisie.jsp »
            JSP si erreur saisie
      scope=«request »>
   <forward name="success" path="/ok.jsp"/>
   <forward name="failure" path="/erreur.jsp"/>
  </action>
</action­mappings> 

Formulaire de saisie
<!­­ saisie.jsp ­­>
<%@ taglib uri=« /WEB­INF/struts­html.tld » prefix=« html »>
<!­­ traitements erreur (attribut «input» de «action­mapping») ­­>
<html:errors/>
<!­­ formulaire utilisant la taglib struts­html ­­>
<!­­ «myform»(.do) = attribut «path» de «action­mapping» ­­>
<html:form action=« myform.do »>
 Nom : <html:text property=« nom »/>
 <html:submit />
</html:form>

ActionForm
package mypackage;
public final class MyForm extends ActionForm {
    private String nom_ = null;
  public void setNom(String n) { nom_ = n; }
  public String getNom() { return nom_; }
}

Action
package mypackage;
public final class MyAction extends Action {
  public ActionForward perform(
    ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    MyForm f = (MyForm)form;
    String nom = f.getNom();
    // … traitements …
    request.setAttribute(« leNom », nom);
    return mapping.findForward(« success »);
  } 
}

Vue JSP
<!­­ ok.jsp ­­>
<%@ taglib uri=« /WEB­INF/struts­logic.tld » prefix=«logic»>
<logic:present name=« leNom » scope=« request »>
  Bonjour <logic:write name=« leNom » scope=« request »/>
</logic:present>

Struts : installer
• Appli d ’exemple : struts­blank.war
– Déployer dans webapps
– Modifier la configuration, et partir de 
l ’
  exemple
• Documentation : struts­documentation.war
– Déployer dans webapps

MVC et applications Web : Servlets/JSP et modèle MVC Model2, Struts
Publier sur Facebook Publier sur Twitter
Informations
Date : 02/01/2011
Langue : Français
Pages : 15
Consultations : 1042
Commentaires : 0
Note :  
Résumé

Auteur : PierreYves Gibello


Description : Tutoriel applications web. Creative Commons (http://creativecommons.org/licenses/by-sa/2.0/fr/)


Tags : Tutoriel, applications web

Sur le même thème
Vues : 3408
Un logiciel libre de détection du plagiat
Pseudo : Marketmaker
Vues : 3408
Date : 04/12/2010
Pages : 20
Langue : Français
Description :
Présentation d'un logiciel libre de détection du plagiat. 2008 Creative Commons
Vues : 2745
Web Services : SOAP / WSDL / JAXWS / JAXB / SAAJ
Pseudo : Tutorrent
Vues : 2745
Date : 02/01/2011
Pages : 68
Langue : Français
Description :
Tutoriel web services. Creative Commons (http://creativecommons.org/licenses/by-sa/2.0/fr/)
Vues : 1513
PHP en entreprise - Livre blanc
Pseudo : TechnoFil
Vues : 1513
Date : 23/10/2010
Pages : 24
Langue : Français
Description :
Bien que concurrents dans leur activité quotidienne, des membres de l'AFUP, des experts PHP, .NET et J2EE se sont réunis pour...
Vues : 1462
The almost complete guide to creating menus in MODX using Wayfinder
Pseudo : SEOlover
Vues : 1462
Date : 15/11/2010
Pages : 148
Langue : Anglais
Description :
Document sous licence Creative commons.
Vues : 1447
Socket Programming - Tutoriel
Pseudo : TechnoFil
Vues : 1447
Date : 09/02/2011
Pages : 35
Langue : Anglais
Description :
Socket Programming.
Vues : 1438
Cours de PHP
Pseudo : Docenstoc
Vues : 1438
Date : 17/12/2010
Pages : 404
Langue : Français
Description :
Cours de PHP par le PHP Documentation Group. Ce manuel peut être redistribué sous licence GNU General Public License.
Du même contributeur
Vues : 4349
OpenOffice 1.1 - Tutoriel
Pseudo : Tutorrent
Vues : 4349
Date : 20/12/2010
Pages : 693
Langue : Français
Description :
OpenOffice 1.1 - Tutoriel. GNU/FDL
Vues : 2745
Web Services : SOAP / WSDL / JAXWS / JAXB / SAAJ
Pseudo : Tutorrent
Vues : 2745
Date : 02/01/2011
Pages : 68
Langue : Français
Description :
Tutoriel web services. Creative Commons (http://creativecommons.org/licenses/by-sa/2.0/fr/)
Vues : 1633
Utilisation de Celestia - Tutoriel
Pseudo : Tutorrent
Vues : 1633
Date : 20/12/2010
Pages : 45
Langue : Français
Description :
Utilisation de Celestia - Tutoriel. GNU
Vues : 1545
Sélections en Photoshop CS5 - Tutoriel
Pseudo : Tutorrent
Vues : 1545
Date : 07/01/2011
Pages : 20
Langue : Français
Description :
Tutoriel Photoshop. Creative Commons (http://creativecommons.org/licenses/by-nc-nd/2.0/be/deed.fr)
Vues : 1279
Scribus - Tutoriel
Pseudo : Tutorrent
Vues : 1279
Date : 20/12/2010
Pages : 18
Langue : Français
Description :
Scribus - Tutoriel. Creative Commons
Vues : 1249
Automatisation d'une Facture - Liste déroulante de clients - OpenOffice - Tutoriel
Pseudo : Tutorrent
Vues : 1249
Date : 20/12/2010
Pages : 25
Langue : Français
Description :
Automatisation d'une Facture - Liste déroulante de clients - OpenOffice - Tutoriel. GNU/FDL
Commentaires
Aucun commentaire pour cette publication
Ajouter un commentaire
Envoyer
Pour envoyer la page de votre document, notez ici les emails destinataires de votre demande :
Séparez les emails par des virgules
Signaler un abus
Vous devez vous connecter ou vous inscrire pour noter un document.
Cliquez ici pour vous inscrire.
Vous devez vous connecter ou vous inscrire pour ajouter un commentaire.
Cliquez ici pour vous inscrire.
Vous devez vous connecter ou vous inscrire pour envoyer le document.
Cliquez ici pour vous inscrire.
Vous ne pouvez pas acheter de documents sur Needocs.
Vous pouvez vous référer aux conditions générales de vente et d'achat du portail pour connaître les modalités d'achat.