Partage
  • Partager sur Facebook
  • Partager sur Twitter

la ressource demandée n'est pas disponible Servlet

Sujet résolu
25 février 2014 à 11:19:09

Bonjour,

je n'arrive plus à accéder à mes servlets depuis ce matin :o, le serveur n'arrive pas a trouver le servlet : la ressource demandée n'est pas disponible

Cependant je ne sais pas d'où viens l'erreur.

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <servlet>
    <servlet-name>Domaines</servlet-name>
    <servlet-class>com.myApllication.servlets.Domaines</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Domaines</servlet-name>
    <url-pattern>/Domaines</url-pattern>
  </servlet-mapping>

</web-app>


code du servlet:

package com.myApllication.servlets;

import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

/**
 * Servlet implementation class domaines
 */
@WebServlet("/Domaines")
public class Domaines extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public static final String VUE        = "/WEB-INF/domaines.jsp";
     
    Domaine madomaine=new Domaine();
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Domaines() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
       
        this.getServletContext().getRequestDispatcher( VUE ).forward( request, response );
    }
   
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
       
    }

}



 et j'essai d'y acceder via l'url suivant

localhost:8080/myApllication/Domaines

je ne vois vrais pas ou est le probleme

Merci

-
Edité par bamba4 25 février 2014 à 11:41:27

  • Partager sur Facebook
  • Partager sur Twitter
25 février 2014 à 11:38:50

<servlet-class>com.c3p.servlets.Domaines</servlet-class>
package com.myApllication.servlets
Tu vois ou est le problème maintenant ?
Vire tout ce qu'il ya dans ton web.xml avec les Servlet 3.0 (Annotation WebServlet) tu n'a pas besoin de déclarer ça dans le web.xml

-
Edité par unnamed38 25 février 2014 à 11:42:07

  • Partager sur Facebook
  • Partager sur Twitter
FuelDB => Base de donnée web temps réel avec websocket(Presentation)
25 février 2014 à 11:46:30

Merci unamed8 pour la reponse rapide,
Oui jeme suis trompé, enfait j'ai voulu metrremyApllication en postant pour que ça soit plus clair mais ça ne change rien je ne me suis pas trompé a ce niveau je pense
Cependant je viens de voir un truc bizarre : j'ai arrreté tomcat et maintenant il n'arrive plus à redemarrer. Quand je le redemarre il se met en start et repasse automatiquement en stop :euh:
  • Partager sur Facebook
  • Partager sur Twitter
25 février 2014 à 13:38:17

L'erreur que tu as, c'est quel code ? 404 ou 405 ? Si c'est 404 ça devrait se régler dans le web.xml, si c'est 405 j'ai une question subsidiaire : tu es chez Orange ? Si oui, désinstalle ou désactive l'assistant d'aide à la réparation (la désactivation se fait en arrêtant le service "Dedicarz Service" via le gestionnaire de tâches). Personnellement j'ai pas pu faire tourner de serveur sur mon ordi perso pendant des plombes avant que je m'aperçoive que c'était de la faute de ce logiciel qui occupait le port 8080 (le plus bizarre c'est que Tomcat démarrait quand même, sauf que je me mangeais des erreurs 405. C'est seulement en réessayant avec JBoss, qui lui ne voulait pas démarrer, que j'ai trouvé l'origine du problème).
  • Partager sur Facebook
  • Partager sur Twitter
25 février 2014 à 13:53:59

Merci Dici,

c'est du 404. alors que dans web.xml il me semble que tout est ok :o

  • Partager sur Facebook
  • Partager sur Twitter
25 février 2014 à 15:08:33

Tu utilise les Servlet 3.0 donc ton web.xml devrai ressembler a ça:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
 
</web-app>
C'est soit tu utilise les annotations, soit tu utilise web.xml, mais pas les deux.
  • Partager sur Facebook
  • Partager sur Twitter
FuelDB => Base de donnée web temps réel avec websocket(Presentation)
25 février 2014 à 15:46:31

Merci unnamed38,

je ne vois pas bien de ce que tu veux dire : si je déclare les servlet dans web.xml je ne dois pas utiliser d'annotation dans le code du servlet  et l'inverse aussi ??

  • Partager sur Facebook
  • Partager sur Twitter
26 février 2014 à 9:32:30

Avec l'API Servlet 3.0 tu n'a pas besoin de renseigner le fichier web.xml pour déclarer un servlet. L'annotation suffit.

Je ne sais pas comment se comporte chaque serveur d'application si on déclare un servlet à la fois dans le fichier web.xml et avec l'annotation, mais je pense que ça peut créer des conflits...

Donc au final la bonne pratique et de virer toutes les déclaration de servlet dans ton web.xml et de n'utiliser que les annotations (Plus simple, plus lisible,plus fiable)

  • Partager sur Facebook
  • Partager sur Twitter
FuelDB => Base de donnée web temps réel avec websocket(Presentation)
27 février 2014 à 11:27:33

Ahh ouiii, merci unnamed38

c’était exactement ça le problème, en fait ma version d'eclipse utilise l'API Servlet 3.0 et donc elle crée les servlets automatiquement avec les annotation et donc j'avais pas besoin de les redéclarer dans le web.xml.

je n' y avais même pas prêté attention.

Merci encore

  • Partager sur Facebook
  • Partager sur Twitter
27 février 2014 à 13:15:40

Oublie pas de mettre le sujet en résolu ;-)
  • Partager sur Facebook
  • Partager sur Twitter
FuelDB => Base de donnée web temps réel avec websocket(Presentation)
11 novembre 2014 à 17:48:59

Merci, j'ai eu exactement le même problème... ! :)
  • Partager sur Facebook
  • Partager sur Twitter
24 février 2016 à 17:09:18

bonjour, 

Le serveur n'arrive pas à trouver le servlet et me donne comme msg d'erreur '404' la ressource demandée n'est pas disponible, l'erreur doit surement apparaitre au niveau du fichier web.xml mais j'arrive pas à trouver malheureusement cette erreur qui me tracasse !  

voici le code d'un servlet Client et j'ai refait un autre pour la commande de la meme maniere : 

package com.sdzee.servlets;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.sdzee.beans.Client;

public class CreationClient extends HttpServlet {

    /**

*/

private static final long serialVersionUID = 1L;

public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {

        /*

         * Récupération des données saisies, envoyées en tant que paramètres de

         * la requête GET générée à la validation du formulaire

         */

        String nom = request.getParameter( "nomClient" );

        String prenom = request.getParameter( "prenomClient" );

        String adresse = request.getParameter( "adresseClient" );

        String telephone = request.getParameter( "telephoneClient" );

        String email = request.getParameter( "emailClient" );

        String message;

        /*

         * Initialisation du message à afficher : si un des champs obligatoires

         * du formulaire n'est pas renseigné, alors on affiche un message

         * d'erreur, sinon on affiche un message de succès

         */

        if ( nom.trim().isEmpty() || adresse.trim().isEmpty() || telephone.trim().isEmpty() ) {

            message = "Erreur - Vous n'avez pas rempli tous les champs obligatoires. <br> <a href=\"creerClient.jsp\">Cliquez ici</a> pour accéder au formulaire de création d'un client.";

        } else {

            message = "Client créé avec succès !";

        }

        /*

         * Création du bean Client et initialisation avec les données récupérées

         */

        Client client = new Client();

        client.setNom( nom );

        client.setPrenom( prenom );

        client.setAdresse( adresse );

        client.setTelephone( telephone );

        client.setEmail( email );

        /* Ajout du bean et du message à l'objet requête */

        request.setAttribute( "client", client );

        request.setAttribute( "message", message );

        /* Transmission à la page JSP en charge de l'affichage des données */

        this.getServletContext().getRequestDispatcher( "/afficherClient.jsp" ).forward( request, response );

    }

}

le code du fichier web.xml ! 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE xml>

<web-app>

<servlet>

<servlet-name>CreationClient</servlet-name>

<servlet-class>com.sdzee.servlets.CreationClient</servlet-class>

</servlet>

<servlet>

<servlet-name>CreationCommande</servlet-name>

<servlet-class>com.sdzee.servlets.CreationCommande</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>CreationClient</servlet-name>

<url-pattern>/creationClient</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>CreationCommande</servlet-name>

<url-pattern>/creationCommande</url-pattern>

</servlet-mapping>

</web-app>

  • Partager sur Facebook
  • Partager sur Twitter
25 février 2016 à 23:36:59

Je ne saurai dire si l'erreur vient dde la version ou d'atre chose, mais voilà le résultat. Je suis coincé dans mon cours Java EE

Etat HTTP 404 -

type Rapport d''état

message

description La ressource demandée n''est pas disponible.


Apache Tomcat/8.0.29

  • Partager sur Facebook
  • Partager sur Twitter
Toucher à l'arbre de la connaissance
23 avril 2016 à 19:06:09

Bonjour à tous,

J'ai le même problème, eclipse ne trouve plus les servlets.

où sont les anotations svp?

help please

  • Partager sur Facebook
  • Partager sur Twitter
18 septembre 2016 à 23:05:56

je suis en train de suivre le cours en pdf d'openclassrooms pour le developpement JEE et j'ai eu une erreur au niveaux des session 

Etat HTTP 404 - /pro/WEBINF/connexion.jsp

type Rapport d''état

message /pro/WEBINF/connexion.jsp

description La ressource demandée n''est pas disponible.


Apache Tomcat/8.0.36

-
Edité par SlimGh 18 septembre 2016 à 23:06:47

  • Partager sur Facebook
  • Partager sur Twitter
23 février 2017 à 22:55:47

it's ok i solve my problem thank you

-
Edité par Norchenebelhassen 23 février 2017 à 23:15:43

  • Partager sur Facebook
  • Partager sur Twitter
3 mars 2017 à 12:30:01

comment vous solve votre probleme SVP
  • Partager sur Facebook
  • Partager sur Twitter
3 mars 2018 à 20:26:42

SlimGh a écrit:

je suis en train de suivre le cours en pdf d'openclassrooms pour le developpement JEE et j'ai eu une erreur au niveaux des session 

Etat HTTP 404 - /pro/WEBINF/connexion.jsp

type Rapport d''état

message /pro/WEBINF/connexion.jsp

description La ressource demandée n''est pas disponible.


Apache Tomcat/8.0.36

-
Edité par SlimGh 18 septembre 2016 à 23:06:47


j'ai le meme probleme et je n'arrive pas a trouvé une solution
  • Partager sur Facebook
  • Partager sur Twitter
12 août 2018 à 16:26:14

<c:redirect url="/WebContent/WEB-INF/form-inscription-user.jsp"/>

ou bien 

<jsp:forward page="/WEB-INF/form-inscription-user.jsp"></jsp:forward>

  • Partager sur Facebook
  • Partager sur Twitter
7 juillet 2019 à 2:15:51

j'ai le meme probleme et je n'arrive pas a trouvé une solution 
  • Partager sur Facebook
  • Partager sur Twitter
7 juillet 2019 à 3:30:15

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter