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

Développement Web en Java Discussion :

appel d'une classe dans une autre classe [Débutant(e)]


Sujet :

Développement Web en Java

  1. #1
    Membre du Club
    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
    Points : 58
    Points
    58
    Par défaut appel d'une classe dans une autre classe
    Bonjour à tous,
    voici mon code principal qui fonctionne correctement, mais sous mon bouton envoi j'aimerai que s'exécute le code telnet qui suit comment dois je faire pour l'appeler??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static void telnet()
    {
    	principal.outstr("<html><head></head>",false);
    	principal.outstr("<body>",false);
    	principal.outstr("<form method=\"POST\" action=\"??\">",false);
    	principal.outstr("<tr><td><INPUT TYPE=\"submit\" VALUE=\"Envoi\">\n",false);
    	principal.outstr("</center></body></html>",true);
    }

    code telnet :
    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
    public class telnet extends HttpServlet {
     
     
      public static void main( String args[]) throws IOException{
    	  String hote="***";
    	  Socket socket = new Socket(hote, 23); 
    	// Input
    	InputStream is = socket.getInputStream();
    	InputStreamReader isr = new InputStreamReader(is);
    	BufferedReader br = new BufferedReader(isr);
    	// Output
    	OutputStream os = socket.getOutputStream();
    	OutputStreamWriter osw = new OutputStreamWriter(os, "ASCII");
    	PrintWriter pw = new PrintWriter(osw);
     
     
    	pw.println("HELO");
    	pw.flush();
    	String line = br.readLine();
    	if (!"WELCOME".equals(line)) throw new RuntimeException("Protocol error");
     
    	pw.println("GET /toto"); pw.flush();
    	line = br.readLine();
      }
    }

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Tu sais comment marchent les servlets?

  3. #3
    Membre du Club
    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
    Points : 58
    Points
    58
    Par défaut
    oui mais j'ai du mal
    j'ai mis le code suivant ds web.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <display-name>Telnet</display-name>
        <servlet>
            <servlet-name>Telnet</servlet-name>
            <servlet-class>ubpackage.telnet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>Telnet</servlet-name>
            <url-pattern>/Telnet</url-pattern>
        </servlet-mapping>
    mais voici l'erreur a la compilation :


    Le serveur a rencontré une erreur interne….
    ….
    Ubpackage.telnet.doGet(UnknownSource)
    Ubpackage.telnet.doPost(UnknownSource)

  4. #4
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Je te conseille vivement de prendre le temps tout posement pour acquerir les bases ici, ici on n'enseigne pas, mais on pose des questions précises. Lis, pratique le tp qui y est, et tu debloqueras toi même ton pb, bien evidemment tu reviens vers nous si t'as des questions avec plus de precisions.

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    allez faire un tour dans la catégorie cours de developpez, parce qu'avant des faire des servlet, manifestement, il vous manque quelques dizaines d'heures de cours théoriques

    http://jmdoudoux.developpez.com/cour...va/partie8.php

    et je pense qu'il vous manque aussi pas mal de base en java standard avant d'attaquer le java web.

  6. #6
    Membre du Club
    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
    Points : 58
    Points
    58
    Par défaut
    je sais que j'ai beaucoup de lacune, mais je suis en stage et je n'ai pas le temps de tous voir à fond.. j'ai lu le document sur les servlets entièrement (document très bien présenté, je le conseille à tout le monde) j'ai toujours la même erreur voici mon code si quelqu'un peu me dire le pblme :

    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
    public class telnet extends HttpServlet {
     
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    	{ 
    	  String hote="10.247.11.233";
    	  Socket socket = new Socket(hote,23); 
    	// Input
    	/* 
    	InputStream is = socket.getInputStream();
    	InputStreamReader isr = new InputStreamReader(is);
    	BufferedReader br = new BufferedReader(isr);
    	// Output*/
     
    	PrintWriter out = response.getWriter();
     
    	out.println("<html>");
    	out.println("<head><title></title></head>");
    	out.println("<body>");
    	out.println("<p>HELLO</p>");
            OutputStream os = socket.getOutputStream();
    	OutputStreamWriter osw = new OutputStreamWriter(os); 
    	osw.write("mess envoye");
    	osw.flush();
    	/*out.flush();
    	String line = br.readLine();
    	if (!"WELCOME".equals(line)) throw new RuntimeException("Protocol error");
     
    	out.println("<p>GET /toto</p>");
    	out.flush();
    	line = br.readLine();*/
    	}
    	 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    	 {
    	      doGet(request, response);
    	  }
    }

    Ps : j'ai fais d'autres servlets avant qui fonctionne très bien c'est surtout la connexion avec telnet qui me pose problème je pense)

  7. #7
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Ta classe Telnet est une servlet, qui fonctionne à l'appel comme toutes les autres servlet, ton pb est clairement lié à la meconnaissance du fonctionnement des servlets, c'est justement parceque tu es en stage qu'il faut comprendre fondamentalement ce que tu fais. C'est très bien expliqué dans les tuto comment mapper une servlet dans ton descripteur de déploiement (web.xml) et comment faire appel dans une jsp, une servlet sur le principe ne doit pas faire appel à une autre, par défintion c'est une classe censée répondre à une requête Http. Donc replonge toi dans un exemple de bout en bout, ca te prendra une petite matinée, que tu recupereras très vite après.

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Citation Envoyé par batbat52 Voir le message
    j'ai toujours la même erreur
    Qui est? On est pas devin, poste l'intégralité de ton message d'erreur. Le stage n'est pas une excuse. T'es en stage, t'as un encadreur, il est là justement pour te former!

  9. #9
    Membre du Club
    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
    Points : 58
    Points
    58
    Par défaut
    java.net.ConnectException : Connection refused : connect
    java.net.PlainSocketImpl.socketConnect(Native Method)
    java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java :351)
    java.net.PlainSocketImpl.connectToAdress(PlainSocketImpl.java:213)
    java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    java.net.PlainSocketImpl.connect(SocksSocketImpl.java:366)
    java.net.Socket.connect(Socket.java:529)
    java.net.Socket.connect(Socket.java:478)
    java.net.Socket.<init>(Socket.java:375)
    java.net.Socket.<init>(Socket.java:189)
    Ubpackage.telnet.doGet(UnknownSource)
    Ubpackage.telnet.doPost(UnknownSource)
    javax.servlet.http.httpservlet.service(HttpServlet.java:637)
    javax.servlet.http.httpservlet.service(HttpServlet.java:717)

    Voici mon erreur complète sachant que si dans la class telnet je ne fais qu'afficher HELLO cela fonctionne.
    Merci pour votre aide

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    le message est clair il me semble, la connexion vers 10.247.11.233:23 est refusée.

  11. #11
    Membre du Club
    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
    Points : 58
    Points
    58
    Par défaut
    En effet je m'étais trompé d'adresse je l'ai modifié et maintenant j'ai l'erreur suivante.


    java.net.ConnectException : Connection timed out : connect
    java.net.PlainSocketImpl.socketConnect(Native Method)
    java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java :351)
    java.net.PlainSocketImpl.connectToAdress(PlainSocketImpl.java:213)
    java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    java.net.PlainSocketImpl.connect(SocksSocketImpl.java:366)
    java.net.Socket.connect(Socket.java:529)
    java.net.Socket.connect(Socket.java:478)
    java.net.Socket.<init>(Socket.java:375)
    java.net.Socket.<init>(Socket.java:189)
    Ubpackage.telnet.doGet(UnknownSource)
    Ubpackage.telnet.doPost(UnknownSource)
    javax.servlet.http.httpservlet.service(HttpServlet.java:637)
    javax.servlet.http.httpservlet.service(HttpServlet.java:717)

  12. #12
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    ben c'est le même, personne ne répond, suffit de lire

  13. #13
    Membre du Club
    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
    Points : 58
    Points
    58
    Par défaut
    mon tuteur vient de m'avertir qu'ils avaient débranché le switch hier soir... Je suis désolé pour le dérangement merci a tous...

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

Discussions similaires

  1. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  2. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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