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

JDBC Java Discussion :

[Tomcat 6.0] La ressource demandée n'est pas disponible


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut [Tomcat 6.0] La ressource demandée n'est pas disponible
    Bonjour,

    Je code un formulaire.
    Voici sa courte description :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name='formClient' action="Client/Dispatch1.java" method='POST'>

    Lorsque je clique donc sur Valider, ça doit faire appel au doGet de ma classe Dispatch1.java.
    Ce doGet fait un executeUpdate sur une BD SQL Server et y ajoute donc des données.

    Or, lorsque je clique actuellement sur Valider, une erreur 404 s'affiche :

    type Rapport d'état

    message /SosPt_V0.1/Dispatch1.java

    description La ressource demandée (/SosPt_V0.1/Dispatch1.java) n'est pas disponible.


    D'où cela vient-il ? J'ai pourtant bien ajouté Dispatch1.java dans le web.xml en tant que Servlet.
    Merci de votre aide.

  2. #2
    Membre actif Avatar de mOuLi
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2008
    Messages : 170
    Points : 257
    Points
    257
    Par défaut
    Normalement à la déclaration de ta servlet dans ton fichier web.xml, tu as défini 2 paragraphes : <servlet> et <servlet-mapping> que l'on peut mettre en relation via le paramètre <servlet-name>
    Si ce n'est pas le cas, ton fichier n'est pas correct (regarde ici pour un exemple).
    Sinon tu dois utiliser la valeur que tu as mis dans la propriété <url-pattern> dans ton action (au lieu du nom de la classe de ta servlet).

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut
    Merci pour l'aide

    J'ai appliqué ce que tu m'as indiqué et ce qui était conseillé dans ton lien.

    Voici mon XML (je n'ai pas le répertoire C:\TomCat, j'ai donc éditer le web.xml dans le répertoire Configuration Files de mon projet.)


    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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
        <servlet>
            <description>Ajoute des données à la BD</description>
            <servlet-name>DispatchClient</servlet-name>
            <servlet-class>Client.DispatchClient</servlet-class>
        </servlet>
        <servlet-mapping> 
    		<servlet-name>DispatchClient</servlet-name> 
    		<url-pattern>/DispatchClient</url-pattern> 
    	</servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>formuClient.jsp</welcome-file>
            <welcome-file>index.jsp</welcome-file>
            </welcome-file-list>
        </web-app>

    Et j'ai toujours la même erreur. Par contre j'ai tenté de dispatcher vers une page.jsp que j'ai créé et cela fonctionne. Je n'arrive pas à Dispatcher vers une classe Java.
    Est-ce que la classe Java vers laquelle je dois dispatcher doit obligatoirement contenir un main et un doGet et doPost ?
    Merci.

  4. #4
    Membre actif Avatar de mOuLi
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2008
    Messages : 170
    Points : 257
    Points
    257
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name='formClient' action="/<nom de l'application>/DispatchClient" method='POST'>
    en remplaçant <nom de l'application> par le nom de ton projet web

  5. #5
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut
    Je viens d'essayer, sans succès. Tant pis, je vais laisser le dispatch vers la JSP, c'est pas plus mal.

    Merci pour l'aide en tout cas.

  6. #6
    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
    Si dans ton WEB-INF (de webapp) il y'a bien un répertoire Client contenant le .class de la classe Dispatch (qui est une servlet dans laquelle t'as bien une méthode doPost pour réceptionner la requete) il y'a pas de raison que ca marche pas. vérifie ca, reessaye et si ca marche tjrs pas, fais un copier/coller de l'erreur et envois nous.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  7. #7
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut
    Voici donc un screen du répertoire de mon projet ainsi que le message d'erreur :



    Enfin voici mon fichier Web.xml

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
        <servlet>
            <description>Ajoute des données à la BD</description>
            <servlet-name>DispatchClient</servlet-name>
            <servlet-class>Client.DispatchClient</servlet-class>
        </servlet>
        <servlet-mapping> 
    		<servlet-name>DispatchClient</servlet-name> 
    		<url-pattern>/DispatchClient</url-pattern> 
    	</servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>formuClient.jsp</welcome-file>
            <welcome-file>index.jsp</welcome-file>
            </welcome-file-list>
        </web-app>
    J'avoue que je suis un peu perdu. :-(
    Donc pour résumer, formuClient.jsp est la page d'accueil, et contient un formulaire qui, lors de la validation doit dispatcher vers DispatchClient.java.
    Merci de votre aide.

  8. #8
    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
    Px tu me remontrer ce que t'as mis dans ton action qui fait appel à la servlet?
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  9. #9
    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
    Ton serveur d'applications ne peut pas voir ta servlet si elle n'est pas declarée dans ton WEB-INF de WebApp. c normal qu'il ne voye pour l'instant que ta jsp, car elle y est effectivement.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  10. #10
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut
    Voici la ligne de FormuClient.jsp où je dispatche vers DispatchClient.java :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name='formClient' action="DispatchClient.java" method="POST">

    Je ne sais pas si c'est possible de déplacer un .java dans le répertoire WEB-INF.
    Même en créant de nouvelles servlets et en cochant "Ajouter les infos au web.xml", ça ne fonctionne pas. :-(

  11. #11
    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
    Ah ba c normal que ca marche pas si tu mets un nom de pattern qu'on ne voie nulle part dans ton web.xml.
    Essaies ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <url-pattern>/DispatchClient</url-pattern>
    dans ton web.xml
    et ca dans ton action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     action="nom_du_rep_dans_webApp/DispatchClient"
    Mais normalement t'as pas besoin de mettre le nom du repertoire projet si la jsp qui appelle ta servlet se trouve dans le meme repertoire que la classe servlet qui est appellée. En passant dis moi comment tu deploies ton projet? generes un war directement dans ton editeur ou declares tu un contexte dans server.xml de ton tomcat via ton environment de dev?
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  12. #12
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut
    Qu'est-ce que tu appellerais le répertoire dans WebApp, au vu de l'arborescence de mon projet ? Car c'est ce que j'avais essayé au préalable, mais sans succès que ça soit avec le nom du package ou le nom du projet.
    La Servlet .java ne peut pas se trouver dans le même répertoire que ma JSP qui y fait appel, étant donné que les .java et les .jsp sont placés automatiquement dans des répertoires séparés.

    Pour lancer le projet, je fais tout simplement un clic droit sur formuClient.jsp et je fais Run.
    Ce qui m'étonne, c'est que j'ai des Jsp faisant appel à la classe DispatchClient.java (du code placé entre des <% ), cela ne pose aucun problème. Simplement quand je fais appel à DispatchClient.java via un form action, ça coince. :-(

  13. #13
    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
    Prends un peu de temps pour lire ce tuto. ca te permettra d'etre moins couplé à ton environnement de dev actuel, car c'est un peu le cas.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  14. #14
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut
    Oui, je comptais aussi relire mes cours, vu que je les ai pas à côté de moi.

    En tout cas, merci pour ton aide, c'est sympa.
    Je uppe ce topic en cas de besoin.

  15. #15
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut
    Problème résolu !!!
    Le web.xml était tout à fait bon, la classe DispatchClient était correctement placée.
    Il fallait juste enlever le .java dans

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name='formClient' action="DispatchClient.java" method="POST">

    La bonne écriture était donc :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name='formClient' action="DispatchClient" method="POST">

    Chaud, c'était un truc tout bête. Pourtant il me semblait avoir vu en cours un form action = ***.java, bizarre. ^^

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

Discussions similaires

  1. La ressource demandée (/) n'est pas disponible (Tomcat)
    Par lvsuno dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 15/05/2012, 16h29
  2. "La ressource demandée n'est pas disponible"
    Par Arnaud_03 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/08/2008, 09h20
  3. ressource demande n'est pas disponible
    Par j_esti dans le forum Struts 1
    Réponses: 1
    Dernier message: 21/05/2008, 23h49
  4. La ressource demandée n'est pas disponible.
    Par info_plus dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 03/04/2008, 17h49
  5. Erreur 404 - La ressource demandée (/**/) n'est pas disponible.
    Par Rom1984 dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 20/03/2008, 16h06

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