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 :

servlet java tout dans meme class


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 116
    Par défaut servlet java tout dans meme class
    Bonjour

    voici un exemple de code
    Code de a.java :
    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
    public static void a()
    	{
    		principal.outstr("<html><head></head>",false);
    		principal.outstr("<body>",false);
    		principal.outstr("<form method=\"POST\" action=\"b\">",false);
    		principal.outstr("<center><h3>Recherche d'un &eacute;quipemment</h3><br>",true);
    		principal.outstr("<center><p>Veuillez selectionner le type de recherche :<p>",false);
    		principal.outstr("<select name =\"type\">",false);
    		principal.outstr("<option>Categorie</option>",false);
    		principal.outstr("<option>Etat</option>",false);
    		principal.outstr("<option>ID</option>",false);
    		principal.outstr("<option>Lieu</option>",false);
    		principal.outstr("<option>Nom</option>",false);
    		principal.outstr("</select>",false);
    		principal.outstr("<tr><td><INPUT TYPE=\"submit\" VALUE=\"Envoi\">\n",false);
    		principal.outstr("</center></body></html>",true);
    	}
    code de b.java

    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
     
     
    public class b extends HttpServlet {
     
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    	{ 
    		try
    		{
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter();
    		out.println("<html>");
    		out.println("<head><title></title></head>");
    		out.println("<body>");
     
    		out.println("<input type=\"button\" value=\"Page pr&eacute;c&eacute;dente\" onclick=\"location.href='http://localhost:8080/ji/principal?action=b';\"/>");
    		out.println("<center><h3><b>Recherche par "+ request.getParameter("type")+"</h3><br><br> ");
     
     
     
    		String url="jdbc:sqlserver://10.247.52.23;databaseName=whatsup;integratedSecurity=false";
     
    		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
    		Connection conu = DriverManager.getConnection(url,"sa","truc");
    String t=request.getParameter("type");
     
     if(t.equals("ID"))
    	 	{	out.println("<form method=\"POST\" action=\"Tableau\">");
    	 		Statement req = conu.createStatement(); 
    	 		ResultSet res = req.executeQuery("select nDeviceID from Device order by nDeviceID"); 
    	 		out.println("<select name =\"ID\">");
    	 		while(res.next())
    	 			{
    	 			out.println("<option>"+res.getString(1)+"</option>");
    	 			}
    	 		out.println("</select>");
    	 		out.println("</center></body></html>");
    	 		res.next();
    	   		res.close();
    	   		req.close();
    	   		principal.outstr("<tr><td><INPUT TYPE=\"submit\" VALUE=\"Envoi\">\n",false);
    	}
       }
    	    catch(Exception e2) 
    	    {
    	    		e2.printStackTrace();
    	    		javax.swing.JOptionPane.showMessageDialog(null,e2); 
    	    }	
    	}
    	 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    	 {
    	      doGet(request, response);
    	  }
     
    }
    avec ceci dans web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     <display-name>b</display-name>
        <servlet>
            <servlet-name>b</servlet-name>
            <servlet-class>ubpackage.b</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>b</servlet-name>
            <url-pattern>/b</url-pattern>
        </servlet-mapping>
    voila tout fonctionne seulement j'aimerais que le a.java et b.java soit dans le même x.java, j'espère être assez claire. J'ai essayé plein de chose mais je n'y parvient pas pouvez vous m'aider
    Merci d'avance

  2. #2
    Membre chevronné
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 158
    Par défaut
    Tu veux mettre tes 2 classes dans le même fichier ?
    Ce n'est pas possible : une classe publique doit être définie dans un fichier portant le nom de la classe.

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 116
    Par défaut
    donc si je veux appeler le résultat sélectionner dans la liste je suis obligé d'utiliser 2 fichiers?

  4. #4
    Membre chevronné
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 158
    Par défaut
    J'ai répondu un peu vite, et je n'avais pas lu avec attention le contenu de tes fichiers "a.java" et "b.java".
    Je constate que le contenu de a.java n'est qu'une fonction. Ce qui n'est pas vraisemblable. Tu as bien une classe dans ce fichier, non ?
    Par ailleurs, je ne vois nulle part de référence à la méthode a() : à quoi sert-elle, quand est-elle appelée ?

  5. #5
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 116
    Par défaut
    Ma méthode a est appelée et affiche une liste proposant plusieurs catégories une fois cette catégorie sélectionnée et l'envoi avec le bouton établi, la classe b est appelé qui elle si par exemple ID est sélectionné va afficher une liste des ID. Tout ceci fonctionne très bien ce que j'aimerai c'est que tous soit dans la même classe


    et je me suis trompé ce n'est pas a.java mais adeline.java et ma méthode est a

    voici la constitution de mon fichier

    adeline.java :

    public class adeline extends HttpServlet {

    public static void a()

    {
    mon code..

    }
    }

    Désolé d'avoir tout mélanger au début...

  6. #6
    Membre chevronné
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 158
    Par défaut
    D'après ce que tu nous dit dans tes messages :
    La servlet b est mappée à un URL (dans web.xml). La servlet a/adeline n'est pas mappée.
    La servlet b ne fait jamais appel à la classe adeline ni à la méthode a.
    Donc soit tu as encore oublié quelque chose, soit a/adeline n'est jamais utilisée





    Allez, je vais faire marcher mon imagination...
    Il me semble, au vu des différents affichages que tu effectues, que tu cherches à obtenir une page qui si charge "progressivement", en fonction des choix effectués par l'utilisateur :
    1/ j'arrive sur la page pour la première fois, une liste me propose le choix de trier les équipements par "Categorie", "Etat", "ID", "Lieu", ou "Nom".
    2/ je clique sur "ID" et je valide le formulaire
    3/ la page se recharge, la première liste est toujours affichée, mais cette fois-ci il y a une deuxième liste contenant les équipements triés par ID.

    Est-ce que c'est bien ça ?

    Si oui, tu peux effectivement tout effectuer sur une seule page, avec une seule URL et une seule Servlet.
    Quelque chose dans ce genre :

    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
    public class MaServlet extends HttpServlet
    {
       public void doGet/Post(HttpServletRequest request, HttpServletResponse response)
       throws IOException, ServletException
       {
          // afficher le début de page
     
          // <form method="POST">
     
          if (request.getParameter("order") == null)
          {
             // l'ordre n'a pas encore été choisi !
     
             // afficher la liste 1 permettant de choisir l'ordre
             // <select name ="order">
          }
          else
          {
             // l'ordre a été choisi !
     
             // afficher la liste 1, pour mémoire, en sélectionnant l'ordre choisi
             // <select name ="order">
             // éventuellement, utiliser "disabled" afin d'empêcher de modifier le choix, et dans ce cas ajouter un input de type hidden afin de quand même transmettre la valeur lors de la prochaine soumission du formulaire
     
             // récupérer la liste des équipements, triée en utilisant l'ordre choisi
             if (request.getParameter("order").equals("ID"))
             {
                // récupérer la liste des équippements triée par ID
             }
             else if (request.getParameter("order").equals("Nom"))
             {
                // récupérer la liste des équippements triée par Nom
             }
             else etc...
     
             if (request.getParameter("device") == null)
             {
                // l'équipement n'a pas encore été choisi !
     
                // afficher la liste 2 permettant de choisir l'équipement
                // <select name ="device">
             }
             else
             {
                // l'équipement a été choisi !
     
                // afficher la liste 2, pour mémoire, en sélectionnant l'équipement choisi
                // <select name ="device">
                // éventuellement, utiliser "disabled" afin d'empêcher de modifier le choix, et dans ce cas ajouter un input de type hidden afin de quand même transmettre la valeur lors de la prochaine soumission du formulaire
     
                // afficher le détail sur l'équipement choisi
             }
     
          }
     
          // <input type="submit" />
     
          // </form>
     
          // afficher la fin de page
       }
    }

  7. #7
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 116
    Par défaut
    oui c'est ça!!! A quoi correspond ton order?

  8. #8
    Membre chevronné
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 158
    Par défaut
    Dans mon exemple, "order" c'est le name de la liste select permettant de choisir l'ordre de tri (Nom/ID/etc).
    Tu l'avais appelé "type".

    Dans mon pseudo code, j'ai mis des commentaires ( ex : // <select name ="order"> ) pour indiquer les noms de paramètres utilisés.

  9. #9
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 116
    Par défaut
    oui excuse moi pour cette question bête cela fonctionne très bien merci beaucoup pour tes réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recompiler tout dans des classes
    Par erikiller dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 06/09/2009, 00h15
  2. Réponses: 5
    Dernier message: 28/09/2007, 14h58
  3. [preferences] pouvoir débuguer dans les classes de JAVA
    Par Satch dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 25/01/2006, 13h23
  4. [WSDL][Axis] Récupération de valeur dans des classes java
    Par cosmos38240 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 09/01/2006, 17h38
  5. Réponses: 13
    Dernier message: 25/03/2005, 11h00

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