IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

[JSP-Servlet] Conseils sur façon de coder


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Points : 7
    Points
    7
    Par défaut [JSP-Servlet] Conseils sur façon de coder
    Bonjour,

    je vais prochainement faire un site web commercial et je compte utiliser java pour cela, mais je sais pas ce qui est mieux entre utiliser les servlet ou les jsp ? Dans le cas des jsp, vaut-il mieux utiliser les beans via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <jsp:useBean id="qqueChose" class="uneClasse" />
    ou simplement faire des imports des classes et travailler avec les instances de ces classes ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <%@ page import="monPackage.*" %>
    <% 
     MaClasse obj = new MaClasse();
     ... du code ...
     %>
    Personnelement j'utiliserais les JSP pour simplifier les affichages avec le HTML et ne pas devoir taper tout le code html dans ma Servlet, et je ferais les imports des classes et travaillerais directement avec les instances de ces classes au lieu de procéder par les <jsp:useBean /> .

    J'aimerais avoir vos avis sur la manière de faire, que privilégieriez-vous ?

  2. #2
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Ni l'une ni l'autre des solutions !

    Je te conseille de lire la partie Web de SPRING (http://www.springframework.org) pour comprendre ma réponse.
    Si tu le peux/veux, lis le bouquin suivant : Expert One-On-One J2Ee Design and Development de Rod Johnson (créateur de SPRING)

  3. #3
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    Salut ego,
    Je veux pas faire le gars bête... mais j'ai pas trouvé la partie web... enfin si tu parles du site entier, peux-tu me dire qu'elle partie faut-il lire ? car la question de gunnm m'interesse aussi.
    Merci
    ++
    ShinJava

    --------------------------------

    Petit débutant deviendra grand... débutant

  4. #4
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Tu peux effectivement utiliser Spring. Mais sinon, tu peux egalement utiliser Les JSP ou les servlets (moi je prefere les JSP, mais bon, c'est histoire de gout).
    Par contre, si tu utilises les JSP, proscris le code java! utilise les beans!
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  5. #5
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Il faut regarder la "Spring Reference Documentation"

  6. #6
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Il y a des bonnes et des mauvaises solutions.

    La mauvaises solution serait l'utilisation de scriplets (tout simplement parceque trop de code java dans une JSP nuit à sa lisibilité et ça n'est pas maintenable).

    La bonne serait l'utilisation de JSTL, Spring, Struts ou les TagLibs...

    Secundo soit tu utilises un framework et tu n'as plus à te soucier des servlets, soit tu n'en utilises pas et pour coller au pattern MVC tu dois combiner les JSP avec une servlet (MCV-2) ou plusieurs (MVC)...

    An tout cas il est fortement déconseillé d'utiliser directement des JSP sans servlets et inversement...

    A+

  7. #7
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Avec SPRING, je recommande aussi "SPRING WEB FLOW"

  8. #8
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut
    Tout à fait d'accord avec Thibaut qui a merveilleusement bien résumé la situation.
    Pour ma part, j'utilises les framework en fonction des applications.
    Certains framework s'utilise plus facilement dans certain cas que d'en d'autres.
    Par exemple sur les problèmes de performances, de lisibilité de code, etc...

  9. #9
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Perso je ne vous conseille pas d'utiliser struts, certes c'est archi simple mais c'est trop opaque et pas forcémment logique à tout les coups ...

  10. #10
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    et jsf dans tous ça... vous en pensez quoi ?

  11. #11
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    JSF sera bien... en milieu de l'année prochaine.
    A la limite, il peut être utilisé, mdais sans les outils preconnisés qui sont encore tres bugguer !
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  12. #12
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Vraiment, JSP/JSTL/SPRING/SPRING WEB FLOW c'est une très bonne solution, très propre.
    L'avantage de SPRING est que tu pourras avoir des parties de ta webapp en jsp, en XML/XSLT ou en Velocity. Bref, une vraie séparation des M V et C du MVC !!!!!!!!

  13. #13
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    Je pause des questions sur JSF parce que ce que j'en ai vu m'a vraiement
    impressioné...

    Visiblement pas mal de gens se pause des questions du style :
    mais quel est le meilleurs framework pour ceci ou cela...

    pour moi, un critère d'un bon framework est la transparance...
    et c'est cela que je trouve cool dans JSF. (non je suis pas fou, je m'explique...)
    Dans JSF, Le backing bean *peut* être un simple pojo.
    dans struts, ce n'est pas le cas... on doit hériter de ActionBidulchose,
    dans Spring, à ma connaissance, on doit implementer une Interface, ou
    en tout cas retourner un ModelAndView donc il y a aussi un lien.

    Peut-être qu'il faut que j'essaie Spring web flow qui apparament
    retourne juste une string... mais a ce moment la, il me faut des jar en plus... et avec un peu de chance, on se retrouve avec 3 classes pour parser du xml... (Spring web flow -> jdom, hibernate dom4j, mon appli : xerxes...) mais ca, c'est peut-être un autre debat....

    A+
    Olivier

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Ok merci.
    Je vais voir ce que je peux faire avec Spring.

  15. #15
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Le lien entre C et V dans SPRING MVC est justement ULTRA light. Puisque le controleur retourne un "view name" (une string) qui est résolu par un ViewResolver.
    Avec SPRING tu peux avoir des pages JSP qui redirigent vers du XML/XSLT qui redirige vers du WebMacro qui redirige vers du PDF.
    Tout ceci étant décrit de manière homogène dans le fichier de config et sans impact sur le code de C et M

    SPRING WEB FLOW faisant une utilisation intelligente de l'ensemble des possibilités offertent pas SPRING MVC

  16. #16
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    Whaow, j'ai rate qqch alors....
    pour moi, Spring MVC fonctionnait de la façon suivant :

    handler mapping -> controller -> View resolver

    et ce qui m'embaitait, c'est que le controller doive
    retourner non pas une String, mais une classe ModelAndView.

    Tu peux me donner un exemple d'un controller qui retourne le viewName sous forme d'un String sans ref. sur ModelAndView ?

    J'ai rien trouvé dans le chapitre 12 de leur doc...
    merci

    Olivier

  17. #17
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Mais le "ModelAndView" a 2 objectifs :
    - Donner le nom de la vue sous forme de String qui va être résolu ensuite pas le ViewResolver
    - Donner le "model" que la vue va devoir afficher (les infos quoi !)

    Pour comprendre comme cela fonctionne, regardes l'article MVC step-by-step sur le site de spring

  18. #18
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    Ok, j'ai un peu mal exliqué... je recomence

    Ce que je préfère dans le backing bean de JSF par rapport à struts ou
    Spring MVC, c'est que le backing bean peut n'avoir AUCUNE liaison avec JSF

    Donc le backing bean n'a même pas un import qui concerne JSF.

    Dans la doc de Spring, l'exmple suivant me plait bien,
    car il fait ce dont j'ai besoin. la seul chose qui me dérange
    (très peu ceci-dit) c'est que la classe SampleDelegate est dépendante
    de Spring à cause du ModelAndView retourné. d'ou ma question pour
    savoir si il existe un controller qui peut se passer du ModelAndView


    <bean id="paramResolver" class="org....mvc.multiaction.ParameterMethodNameResolver">
    <property name="paramName"><value>method</value></property>
    </bean>
    <bean id="paramMultiController" class="org....mvc.multiaction.MultiActionController">
    <property name="methodNameResolver"><ref bean="paramResolver"/></property>
    <property name="delegate"><ref bean="sampleDelegate"/>
    </bean>

    <bean id="sampleDelegate" class="samples.SampleDelegate"/>

    ## together with

    public class SampleDelegate {

    public ModelAndView retrieveIndex(
    HttpServletRequest req,
    HttpServletResponse resp) {

    rerurn new ModelAndView("index", "date", new Long(System.currentTimeMillis()));
    }
    }


    dans JSF la classe qui gère les actions aurait plutôt été qqch du genre


    public class SampleDelegate {
    public String actionTest() {
    ...
    ...
    ...
    return "page"
    }
    }

    Donc aucune ref. sur JSF.

    Ceci dit, je ne crache pas du tout sur Spring, je le trouve même tout simplement excellent !

  19. #19
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    Encore une petite chose que j'ai oubliée...
    Je n'ai rien contre le faite que Spring propose des classes
    d'appoints qui utilise le ModelAndView (bien au contraire...),

    mais je trouverait sympa d'avoir aussi la possibilité de n'avoir
    aucune ref sur les classes de spring (quitte à devoir faire une partie du boulot à la mano)

    Un bon example est hibernate...
    Comme on fait un Session.add(obj), obj n'a aucune ref sur hibernate.

    Olivier

  20. #20
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Et comment passes tu les données à afficher à ta vue ?

    Spring propose un framework très ouvert. Si tu utilises en plus Spring Web Flow, tu verras que la transparence est encore plus grande et que tu peux gérer des workflow imbriqués avec possibilité de retour arrière tout en concervant l'état dans lequel tu étais avant de sortir tu workflow dans lequel tu reviens.
    L'idée de Spring est aussi de te permettre de ne pas être dépendant de la techno utilisée pour la vue. Tu ne peux donc pas te reposer sur les fonctionnalités "jspiennes" pour passer le model (les données), d'où le ModelAndView. Les classes "wrappers" de vues proposées par Spring en fonction des différentes technos (jsp, webmacro, velocity, xml/xslt, pdf) savent comment passer le model à la vue.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Conseil sur livres JSP
    Par vodasan dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 01/02/2008, 08h46
  2. Présentation des données sur JSP -> Servlet ou JavaBean ?
    Par tiamat dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 15/08/2007, 19h00
  3. Conseil sur la façon de baser mon bloc.
    Par macben dans le forum Forms
    Réponses: 12
    Dernier message: 20/06/2007, 15h58
  4. un conseil sur servlet et JSP
    Par 18Marie dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 01/08/2006, 11h03
  5. [Info][JSP] achat livre sur les servlets et jsp
    Par mealtone dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 24/10/2005, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo