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 :

[Débutante] Création d'une application


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 12
    Points
    12
    Par défaut [Débutante] Création d'une application
    Bonjour,
    je suis déveleppeuse débutante ,je vais travailler sur ma première Application,une application pour Echange des messages instantannés (Chat),est ce que vous pouvez me guider sur les premières pas vers la réalisation de cet application , les technologies que je vais utilisées : JBOSS(ou Tomcat),Eclipse,Les JSP... et une DB Mysql

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Je ne suis pas sûr que le Chat soit ce qu'il y ait de plus simple pour commencer en Web car il nécessite d'être en mode connecté (ou de simuler le mode connecté)...

    Sinon tu pourrais être plus précise : tu en es où ?

    tu as installée éclipse ?

    tu as créé ton projet Web ?

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 12
    Points
    12
    Par défaut [Débutante] Création d'une application
    reBonjour,

    oui j'ai installé Eclipse et JBOSS sur mon poste,mais j'ai pas encore crée mon projet Web, est ce je vais crée un "dynamic web Project" ou "java project"?


    Merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Un "Dynamic web Project" !

    Dans un premier temps je te conseilles d'utiliser Tomcat, cela devrait suffir largement.

    JBoss (ou autre serveur d'application) deviens indispensable dès lors que tu veux développer des EJBs ; mais un conseil, commence par le plus simple possible pour ne pas t'embrouiller.

    Tu connais les JSP/Servlets ou uniquement le language Java ?

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 12
    Points
    12
    Par défaut [Débutante] Création d'une application
    rBonjour,

    Oui je connais les JSP/Servlets,
    Pour "Dynamic web Project",c pacque lorsque je veux créer un new Projet dans Eclipse, il me donne de select a Wizard: java-->java project,Web-->Dynamic web Project,J2EE-->Application Client Project,..........,et je sais lequel je vais choisir?

    Merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    C'est ce que je t'ai dit, je te conseille de créer un "Dynamic Web Project".

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 12
    Points
    12
    Par défaut [Débutante] Création d'une application
    reBonjour,

    Ok,j'ai crée mon projet web sous Eclipse,
    maintenant je sais pas par koi je vais commencer pour développer mon application,le but de cette application :

    - j'ai des personnes(Nom,Prenom,Email,.....)
    - j'ai des relations d’amitié entre personnes

    Le but est , une fois connectées, les personnes amies peuvent s’envoyer des messages façon chat .

    Merci

  8. #8
    Membre chevronné
    Profil pro
    Développeur Java Indépendant
    Inscrit en
    Mai 2007
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java Indépendant

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 333
    Points : 2 061
    Points
    2 061
    Par défaut
    Chaud ^^ !!

    Je pense que le plus simple pour commencer serait de stocker les message dans une base de donnée, voir fichier séquentiel, et la page qui s'actualise toutes les secondes regarde si il n'y a pas de message pour lui ....

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Citation Envoyé par marsya Voir le message
    - j'ai des personnes(Nom,Prenom,Email,.....)
    Bah tu te crées une classe Personne pour commencer

    Personne
    =======
    +nom:<String>
    +prenom:<String>
    +email:<String>

    Citation Envoyé par marsya Voir le message
    - j'ai des relations d’amitié entre personnes
    Personne
    =======
    +nom:<String>
    +prenom:<String>
    +email:<String>
    +amis:<Collection<Personne>>

    ...

    Ensuite tu crées une page d'identification de la personne.

    Tu pourras stocker les message dans le scope application.

    Ainsi ils seront partagés par tous les utilisateurs connectés.

  10. #10
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 12
    Points
    12
    Par défaut [Débutante] Création d'une application
    reBonjour,

    bon j'ai bien crée la classe personne,
    stocker les message dans une base de donnée?? j'ai pas comris quels messages je vais stocker?
    et pour la page d'Identification ça sera une page JSP,qui contient uniquement du HTML qui va générer le formulaire d'identification?

    à ajouter je travailler avec Ajax

    Merci pour votr guide

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Citation Envoyé par marsya Voir le message
    pour la page d'Identification ça sera une page JSP,qui contient uniquement du HTML qui va générer le formulaire d'identification?
    Exactement. Ton formulaire devra appeler une URL déclarée dans ton web.xml (servlet-mapping) et qui va rediriger ves une Servlet pour réaliser l'action d'inscription de l'utilisateur au chat, puis rediriger vers la JSP suivante (le chat).

    Citation Envoyé par marsya Voir le message
    à ajouter je travailler avec Ajax
    Tu utilises un framework particulier pour faire de l'Ajax ou tu le fais "à la main" ?

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Voilà grosso modo une ébauche de ton contrôleur (ce n'est pas ce qu'il y a de plus propre mais c'est juste pour montrer le principe).

    Il ne tient pas en compte du fait que certains utilisateurs aient des amis et tout le bazard...

    Soit une classe :

    Message
    ======
    + personne:<Personne>
    + texte:<String>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    public class ChatControleur extends HttpServlet
    {
        private static final String JSP_ID_PERSONNE = "PERSONNE";
        private static final String JSP_ID_MESSAGES = "MESSAGES";
     
      public void init(ServletConfig config) throws ServletException
      {
        super.init(config);
        // stockage partagé des messages du chat
        getServletContext().setAttribute(JSP_ID_MESSAGES, new LinkedHashSet<Message>());
      }
     
      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
      {
        doPost(request, response);
      }
     
      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
      {
    	  HttpSession session = request.getSession();
    	  // est-ce que l'utilisateur s'est identifié ?
    	  Personne personne = session.getAttribute(JSP_ID_PERSONNE);
    	  if (personne == null) {
    		 // identification
    		 personne = new Personne();
    		 personne.setNom(request.getParameter("nom"));
    		 personne.setPrenom(request.getParameter("prenom"));
    		 personne.setEmail(request.getParameter("email"));
    		 session.setAttribute(JSP_ID_PERSONNE, personne);
    	  }
     
    	  ServletContext ctx = getServletContext();
    	  String chatTexte = request.getParameter("texte");
    	  // a-t-il envoyé un message ?
    	  if (chatTexte != null) {
    		  synchronized(ctx) {
    			  // ajout du message à la liste des messages
    			  Collection<Message> messages = ctx.getAttribute(JSP_ID_MESSAGES);
    			  messages.addMessage(personne, chatTexte);
    		  }
    	  }
    	  // redirection vers le chat
    	  request.getRequestDispatcher("/chat.jsp").forward(request, response);
      }
    }
    Pour afficher la liste des messages dans chat.jsp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <% for (Message msg : application.getAttribute("MESSAGES")) %>
    <b><%=msg.getPersonne().getNom()%><b> : <%=msg.getTexte()%>
    <% } %>
    Le web.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <servlet>
        <servlet-name>ChatControleur</servlet-name>
        <servlet-class>monpackage.zzz.ChatControleur</servlet-class>
    </servlet>
     
    <servlet-mapping>
        <servlet-name>ChatControleur</servlet-name>
        <url-pattern>/chat</url-pattern>
    </servlet-mapping>
    C'est parce que je suis de bonne humeur aujourd'hui

    Tout ceci non testé bien sûr !

    Pour raffraîchir les messages dans un premier temps bah... F5 ! On ne peut pas faire de push en http.

  13. #13
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 12
    Points
    12
    Par défaut [Débutante] Création d'une application
    rebonjour,

    merci beaucoup pour votre aide,je vais d'abord tester tout ce que m'avez expliqué ,et j'en suis sure que ça va m'aider beacoup ,
    pour votre question sur le framework de Ajax,je dois me renseigner sur ça

    Merci

  14. #14
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 12
    Points
    12
    Par défaut [Débutante]Creation d'une apllication
    Bonjour,
    j'ai suit les étapes que vous m'avez expliquez et voici où je suis arrivée jusqu'à maintenant:
    j'ai crée la servlet controleur en basant sur le code que vous m'avez envoyé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    package testChat;
     
    import java.io.IOException;
    import java.util.Collection;
    import java.util.LinkedHashSet;
     
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
    import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;
     
    /**
     * Servlet implementation class for Servlet: contoleurserv
     *
     * @web.servlet
     *   name="contoleurserv"
     *   display-name="contoleurserv" 
     *
     * @web.servlet-mapping
     *   url-pattern="/contoleurserv"
     *  
     */
     @SuppressWarnings("serial")
    public class contoleurserv extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    	 @SuppressWarnings("unused")
    	private static final String JSP_ID_PERSONNE = "PERSONNE";
    	 @SuppressWarnings("unused")
    	private static final String JSP_ID_MESSAGES = "MESSAGES";
     
        /* (non-Java-doc)
    	 * @see javax.servlet.http.HttpServlet#HttpServlet()
    	 */
    	 public void init(ServletConfig config) throws ServletException
    	  {
    	    super.init(config);
    	    // stockage partagé des messages du chat
    	    getServletContext().setAttribute(JSP_ID_MESSAGES, new LinkedHashSet<Message>());
    	  }
     
    	public contoleurserv() {
    		super();
    	}   	
     
    	/* (non-Java-doc)
    	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doPost(request, response);
    		// TODO Auto-generated method stub
    	}  	
     
    	/* (non-Java-doc)
    	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		HttpSession session = request.getSession();
    		  // est-ce que l'utilisateur s'est identifié ?
    		  Personne personne = (Personne) session.getAttribute(JSP_ID_PERSONNE);
    		  if (personne == null) {
    			 // identification
    			 personne = new Personne();
    			 personne.setNom(request.getParameter("nom"));
    			 personne.setPrenom(request.getParameter("prenom"));
    			 personne.setEmail(request.getParameter("email"));
    			 session.setAttribute(JSP_ID_PERSONNE, personne);
    		  }
     
    		  ServletContext ctx = getServletContext();
    		  String chatTexte = request.getParameter("texte");
    		  // a-t-il envoyé un message ?
    		  if (chatTexte != null) {
    			  synchronized(ctx) {
    				  // ajout du message à la liste des messages
    				  Collection<Message> messages = (Collection<Message>) ctx.getAttribute(JSP_ID_MESSAGES);
    				  ((Object) messages).addMessage(personne, chatTexte);
    			  }
    		  }
    		  // redirection vers le chat
    		  request.getRequestDispatcher("/chat.jsp").forward(request, response);
     
    		// TODO Auto-generated method stub
    	}   	  	    
    }
    mais il m'affiche une erreur ,l'erreur est la suivante(voir pièce joint) ,j'arrive pas à la corriger.
    Ensuit j'ai crée ma page JSP ,voici le code correspondant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Application Chat</title>
    </head>
        <body>
        Application Chat Active
     
     
    <br>
    <div style="width:300; height:180; overflow:auto; border:solid 1px black;">
    Hello
    </div>
    <br>
     
    <div style="width:300; height:180; overflow:auto; border:solid 1px black;">
        <INPUT type="text" value="" name="message">
        <input type="button" value="OK" name="OK">
     
    </div>
     
     
        <p>This page uses frames. The current browser you are using does not support frames.</p>
        </body>
    </html>
    et aussi j'ai met à jour le web.xml,concernant l'AJAX je vais utiliser l'exemple suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <script type="text/javascript">
     
     
     
    /// Le bloc qui suit contient les deux functions javascripts 
     
    // Writediv ecrit un text html dans une div passée en paramètre
     
    // get_file : demande un fichier  au serveur, recoit le resultat et l’écrit dans la « div> denommée main
     
     
     
    function writediv(div,texte)
     
         {
     
         document.getElementById(div).innerHTML = texte;
     
         }
     
     
     
    function get_file(fichier)
     
         {
     
         if(window.XMLHttpRequest) // FIREFOX
     
              xhr_object = new XMLHttpRequest();
     
         else if(window.ActiveXObject) // IE
     
              xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
     
         else
     
              return(false);
     
         xhr_object.open("GET", fichier, false);
     
         xhr_object.send(null);
     
         if(xhr_object.readyState == 4)  writediv('main',xhr_object.responseText);
     
         else return(false);
     
         }
     
    </script>
    mais je sais pas où je vais mettre ce scripte ,est ce dans la page chat.jsp?

    Merci
    Images attachées Images attachées  

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Citation Envoyé par marsya Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ((Object) messages).addMessage(personne, chatTexte);
    Oups, en fait c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    messages.add(personne, chatTexte);
    Le script javascript doit être mis dans la page chat.jsp entre <head> et </head>, ou sinon dans un fichier .js et l'inclure ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <head>
    <script type="text/javascript" src="ajax.js"></script>
    </head>

Discussions similaires

  1. [Débutant] Création d'une application Java type EE
    Par klane dans le forum Général Java
    Réponses: 17
    Dernier message: 01/09/2011, 17h42
  2. [Débutant] Création d'une application Java qui appelle des scripts Perl
    Par dark_angel91 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 31/05/2011, 19h31
  3. [WPF][VB][Débutant]Création d'une application WPF
    Par actionthomas dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 21/08/2007, 18h25
  4. [tomcat] Création d'une application WEB
    Par bob33 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 25/10/2004, 19h35
  5. [Débutante] Création d'une image avec un composant
    Par gwendo dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 09/07/2004, 09h58

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