Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur lors de compilation

Sujet résolu
    13 avril 2012 à 20:12:35

    Salut,

    J'ai un code qui ma cassé la tete, j'arrive pas à comprendre l'erreur que mon compilateur m'indique à cette ligne:

    public static void main(String [] args)
    


    Et voici le bloc complet:

    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.io.FileInputStream;
    import java.io.OutputStream;
    import java.lang.*;
    
    
    public class HttpServer
    {
         public static void main(String [] args)
         {
              int i=1;
    
    System.out.println("********************************************************************************");
              System.out.println("******************************  HTTPSERVER ***********************************");
    
    System.out.println("********************************************************************************");
              System.out.println("Server Started...");
              System.out.println("Waiting for connexions...");
              try
              {
    
                   ServerSocket s = new ServerSocket(18000);
                   for(;;)
                   {
                        Socket incoming = s.accept();
                        System.out.println("New Client Connected wih id " + i +" from "+incoming.getInetAddress().getHostName() );
                        System.out.println(" ");
                        System.out.println(" REQUEST HEADER     ");
                        Thread t = new ThreadedServer(incoming,i);
                        i++;
                        t.start();
                   }
              }
              catch(Exception e)
              {
                   System.out.println("Error 1: " + e);
              }
         }
    }
    
    class ThreadedServer extends Thread
    {
         final static String CRLF = "";
         Socket incoming;
         int counter;
         public ThreadedServer(Socket i,int c)
         {
              incoming=i;
              counter=c;
         }
    
         public void run()
         {
              try
              {
                   String statusline=null;
                   String contenttypeline=null;
                   String contentlength=null;
                   String venderline="Server: EXECUTER 1.1";
                   String entitybody=null;
                   BufferedReader in =new BufferedReader(new InputStreamReader(incoming.getInputStream()));
                   PrintWriter out = new PrintWriter(incoming.getOutputStream(), true);
                   OutputStream output=incoming.getOutputStream();
                   String headerline;
                   headerline=in.readLine();
                   System.out.println(headerline + " headerLine");
    
    	           StringTokenizer s = new StringTokenizer(headerline);
    	           String meth = s.nextToken();
    	           System.out.println("METH:"+meth);
              
    	           if(meth.equals("GET")||meth.equals("POST"))
                   {
                    int dot1,dot2,fslash;
                    String fname,ext,FileName;
                    String url = s.nextToken();
                    System.out.println("URL:"+url);
                    dot1=url.indexOf('.');
                    dot2=url.lastIndexOf('.');
    		        fslash=url.lastIndexOf('/');
    		        fname=url.substring(dot1+1,dot2);
    		        System.out.println("FNAME:"+fname);
                    ext=url.substring(dot2,fslash);
                    System.out.println("ext:"+ext);
                    FileName=fname+ext;
                    System.out.println("FNAME:"+FileName);
                    if(ext.equals(".html")||ext.equals(".htm"))
                    {
                     FileInputStream fis=null;
                     boolean filexists=true;
                     try
                       {
                        fis=new FileInputStream(FileName);
                       }
                     catch(FileNotFoundException e)
                       {
                        System.out.println("Exception: "+e.getMessage());
                        filexists=false;
                       }
    
    
    
                    if(filexists)
                    {
                     statusline=" HTTP/1.1 200 Ok"+CRLF;
                     contenttypeline="Content-Type: text/html "+CRLF;
                     contentlength="Content-Length:"+(new Integer(fis.available())).toString() + CRLF;
                    }
                    else
                    {
    
           statusline = "HTTP/1.0 404 Not Found" + CRLF ;
           contenttypeline = "Content-Type: text/html"+CRLF ;
           entitybody = "<HTML>" +
                 "<HEAD><TITLE>404 Not Found</TITLE></HEAD>" +
                 "<BODY><H1>404 File Not Found</H1></BODY></HTML>" ;
                    }
    
                  System.out.println(" RESPONCE HEADER                                    ");
    
                    System.out.println(statusline);
                    System.out.println(venderline);
                    System.out.println(contentlength);
                    System.out.println(contenttypeline);
    
                     output.write(statusline.getBytes());
                     output.write(venderline.getBytes());
                     output.write(contentlength.getBytes());
                     output.write(contenttypeline.getBytes());
                     output.write(CRLF.getBytes());
    
    
                     if (filexists)
              {
             sendBytes(fis, output) ;
             fis.close();
              }
          else
              {
             output.write(entitybody.getBytes());
              }
    
                    }
                    else
                   {
                     statusline = "HTTP/1.0 400 Not Found" + CRLF ;
           contenttypeline = "Content-Type: text/html"+CRLF ;
           entitybody = "<HTML>" +
                 "<HEAD><TITLE>400</TITLE></HEAD>" + "<BODY><H1>400 A malformed HTTP request is reived</H1></BODY></HTML>";
                   }
    
                   }
    
                    else
                     {
                      statusline = "HTTP/1.0 400 Not Found" + CRLF ;
            contenttypeline = "Content-Type: text/html"+CRLF ;
            entitybody = "<HTML>" + "<HEAD><TITLE>400</TITLE></HEAD>" + "<BODY><H1>400 A malformed HTTP request is reived</H1></BODY></HTML>";
                     }
    
             boolean done=false;
             while(!done)
             {
              headerline=in.readLine();
              if(headerline == null)
               done = true;
              else
              {
               System.out.println(headerline);
              }
             }
    
             incoming.close();
             in.close();
             out.close();
              }
              catch(Exception e)
              {
                   System.out.println("Error 2 :  " + e);
              }
         }
    private static void sendBytes(FileInputStream fis, OutputStream os)
       throws Exception
        {
       byte[] buffer = new byte[1024] ;
       int bytes = 0 ;
    
       while ((bytes = fis.read(buffer)) != -1 )
           {
          os.write(buffer, 0, bytes);
           }
        }
    
    
    }
    


    Je compte sur vous pour me répondre, et je vous remercie d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      13 avril 2012 à 20:23:18

      Bonjour,

      Merci de donner un titre plus explicite à ton topic et ton erreur dans la balise code de type Console.
      • Partager sur Facebook
      • Partager sur Twitter
      Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
        13 avril 2012 à 21:18:15

        J'espère que le titre te plait maintenant?? ^^

        Pardon, mais je pige pas ce que tu m'as écrit about la balise??

        Je vous thank d'avance :ange:
        • Partager sur Facebook
        • Partager sur Twitter
          14 avril 2012 à 22:18:08

          Il veut que tu mettes l'erreur dans une balise code de type console.

          C'est vrai qu'avec juste ça, on a pas pouvoir t'aider.
          • Partager sur Facebook
          • Partager sur Twitter
            14 avril 2012 à 23:04:45

            Désolée j'ai cru que j l'ai mis au premier post.. :-°

            (c'est pour ça donc que je n'ai pas eu de réponse à ma question... :p )


            Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
            
                    at HttpServer.main(Httpserver.java:13)
            • Partager sur Facebook
            • Partager sur Twitter
              15 avril 2012 à 10:43:45

              ça indique une erreur à la ligne 13 : 'int i =1' ; qui ne comporte pas d'erreur.
              J'ai testé le code dans eclipse, et ça marche bien chez moi.
              • Partager sur Facebook
              • Partager sur Twitter
                15 avril 2012 à 17:14:33

                Problème résolu :)

                j'avais une erreur sur le nom de la classe, c'était différent de celle de main :p


                Merci à vous tous :)
                • Partager sur Facebook
                • Partager sur Twitter

                Erreur lors de compilation

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown