Problem 404 avec ma premiere servlet

Résolu
younes277 Messages postés 7 Statut Membre -  
younes277 Messages postés 7 Statut Membre -
je viens d essayer le premier programme avec les servlet mais rien ne s affiche -erreur 404-
le serveur marche bien
la compilation du fichier a été réussi
mais lorsque je tape http://localhost:8080/HelloWorld/HelloWorld ----->erreur 404--







et voici le code



1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    Il n'y a que ça dans ton web.xml ? Il t'en manque un bout...

    <?xml version="1.0"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-app_3_1.xsd">
    
        <servlet>
            <servlet-name>HelloWorld</servlet-name>
            <servlet-class>HelloWorld</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>HelloWorld</servlet-name>
            <url-pattern>/HelloWorld</url-pattern>
        </servlet-mapping>
    
    </web-app>

    Remarque : je ne suis pas certain que servlet-api.jar soit nécessaire sur le serveur, il devrait déjà être inclus par Tomcat, tu n'en as besoin qu'à la compilation.
    0
    1. younes277 Messages postés 7 Statut Membre
       
      merci KX pour votre réponse . j ai copie le code -web.xml- et tjrs l erreur 404

      lors de la compilation j écrit ---javac -cp servlet-api.jar HelloWorld.java----
      et j obtiendrai pas d erreur.
      0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      Tomcat doit avoir des fichiers de logs relatif à ton application, il faudrait les regarder, il y a sûrement des messages (avertissements ou erreurs) qui permettrait de savoir pourquoi ça ne fonctionne pas (c'est sûrement des erreurs au démarrage).

      Avant de s'intéresser à ta servlet, regardons déjà si ton serveur fonctionne :
      À la racine (dans ton dossier webapps/HelloWorld) rajoutes un fichier index.html

      <html>
      <body></body>
      <head>
          <h1>Hello World</h1>
      </head>
      </html>

      Et essayes d'accéder à la page localhost:8080/HelloWorld/index.html
      Si ça t'affiche le contenu de la page web, ce serait déjà un début...

      Remarque : Si tu commences à faire du Java EE il faudrait peut-être penser à utiliser des outils un peu plus adapté que la compilation avec javac...

      Voir Débuter avec Maven, Application Web JSP/Jetty avec Maven
      0
    3. younes277 Messages postés 7 Statut Membre
       
      avec le liens http://localhost:8080/index.html j obtient la deusiemme page (IT WORKS)

      et avec le liens http://localhost:8080/HelloWorld/index.html j obtient erreur 404

      pour le fichier log je vais le chercher

      merci pour le liens ( juste ce que on tp (module sur le web) nous demande d utiliser ces démarche.... )

      encore je vous remercie beaucoup.
      0
    4. KX Messages postés 19031 Statut Modérateur 3 020
       
      Les logs doivent être dans le répertoire "logs" dans le dossier "apache-tomcat-7" où tu as également "bin" (pour démarrer Tomcat) et "webapps" où tu mets ton application.

      Le fichier qui t'intéresse devrait être catalina.log qui doit afficher quelques informations comme ceci (je viens d'installer Tomcat pour tester).

      INFOS: Server startup in 13040 ms
      avr. 15, 2016 11:19:34 PM org.apache.catalina.startup.HostConfig deployDirectory
      INFOS: Déploiement du répertoire C:\apache-tomcat-7.0.68\webapps\HelloWorld de l'application web
      avr. 15, 2016 11:19:34 PM org.apache.catalina.startup.HostConfig deployDirectory
      INFOS: Deployment of web application directory C:\apache-tomcat-7.0.68\webapps\HelloWorld has finished in 465 ms

      Si tu as des messages qui ne sont pas en INFOS, mais au niveau WARN, ERROR... il faut s'y intéresser tout particulièrement.
      0
    5. younes277 Messages postés 7 Statut Membre > KX Messages postés 19031 Statut Modérateur
       
      oui apparemment le problem été dans le serveur

      voici les dernier lignes que j ai copié
      
      Apr 15, 2016 8:38:29 AM org.apache.catalina.startup.HostConfig deployDirectory
      INFO: Deployment of web application directory /home/younes/Downloads/apache-tomcat-7/webapps/manager has finished in 3,192 ms
      Apr 15, 2016 8:38:29 AM org.apache.coyote.AbstractProtocol start
      INFO: Starting ProtocolHandler ["ajp-bio-8009"]
      Apr 15, 2016 8:38:30 AM org.apache.catalina.startup.Catalina start
      INFO: Server startup in 17830 ms
      Apr 15, 2016 8:38:30 AM org.apache.catalina.core.StandardServer await
      SEVERE: StandardServer.await: create[localhost:8005]: 
      java.net.BindException: Address already in use
      	at java.net.PlainSocketImpl.socketBind(Native Method)
      	at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:382)
      	at java.net.ServerSocket.bind(ServerSocket.java:375)
      	at java.net.ServerSocket.<init>(ServerSocket.java:237)
      	at org.apache.catalina.core.StandardServer.await(StandardServer.java:426)
      	at org.apache.catalina.startup.Catalina.await(Catalina.java:781)
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:727)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:497)
      	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)
      
      
      
      0