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

Servlets/JSP Java Discussion :

problème avec servlet


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Profil pro
    enseignant
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : enseignant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 36
    Points
    36
    Par défaut problème avec servlet
    je suis occupé à reprendre pied avec Tomcat et java...
    j'ai installé Tomcat 6
    le plugin sysdeo
    je crée mon projet Tomcat
    pour un fichier jsp, c'est ok
    pour une servlet simple

    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
    public class MyTestServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
     
        public MyTestServlet() {
            // TODO Auto-generated constructor stub
        }
     
        protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
        response.setContentType("test/html");
        PrintWriter out = response.getWriter();
        out.println("test servlet avec Tomcat");
        }
     
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		super.doGet(request, response);
    		processRequest(request, response);
    	}
     
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		super.doPost(request, response);
    		processRequest(request, response);
    	}
     
    }
    dans le 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
    <servlet>
    		<description>
    		</description>
    		<display-name>
    		MyTestServlet</display-name>
    		<servlet-name>MyTestServlet</servlet-name>
    		<servlet-class>
    		MyTestServlet</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>MyTestServlet</servlet-name>
    		<url-pattern>/MyTestServlet</url-pattern>
    	</servlet-mapping>
    j'ai une erreur me disant que la méthode get non supportée
    Etat HTTP 405 - La m�thode HTTP GET n''est pas support�e par cette URL

    --------------------------------------------------------------------------------

    type Rapport d'�tat

    message La m�thode HTTP GET n''est pas support�e par cette URL

    description La m�thode HTTP sp�cifi�e n'est pas autoris�e pour la ressource demand�e (La m�thode HTTP GET n''est pas support�e par cette URL).
    une idée ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Points : 468
    Points
    468
    Par défaut
    CE qui me semble bizarre dans ton fichier web.xml c'est le tag <servlet-class>, il faut mettre le nom complet de la classe (avec le package)

    Par exemple, en focntion du package où se trouve ta servlet, quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <servlet-class>com.test.servlet.MyTestServlet</servlet-class>

  3. #3
    Nouveau membre du Club
    Profil pro
    enseignant
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : enseignant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 36
    Points
    36
    Par défaut
    je n'ai pas créé de package spécifique ...
    le fichier java de la servlet se trouve à la racine du projet.
    le path est bon.
    merci quand même

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ce n’est pas expliqué clairement dans l’API mais il semble que par défaut, une Servlet ne supporte pas les requêtes GET et POST, il faut surcharger les méthodes (sans appeler celle du parent). Dans l’API on peu sous entendre cela :
    Citation Envoyé par http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#doGet(javax.servlet.http.HttpServletRequest,%20javax.servlet.http.HttpServletResponse)
    Overriding this method to support a GET request also automatically supports an HTTP HEAD request. A HEAD request is a GET request that returns no body in the response, only the request header fields.
    Voici les corrections à effectuer pour que votre code fonctionne :
    MyTestServlet.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    /* Remplacer "teSt/html" par "teXt/html", sans réelles incidences sur ce test. 
    	 */	
    	protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter();
    		out.println("test servlet avec Tomcat");
    	}
    /* Commenter l’appel à super.doGet(..) */	
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		//super.doGet(request, response);
    		processRequest(request, response);
    	}
    Web.xml
    Rien a signaler

  5. #5
    Nouveau membre du Club
    Profil pro
    enseignant
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : enseignant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 36
    Points
    36
    Par défaut
    oui, Effectivement
    la réponse par défaut est au format html
    Merci
    j'avais oublié pour l'appel avec super
    A+

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

Discussions similaires

  1. Problèmes avec Servlet
    Par bpmfoukamoko dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 08/07/2008, 20h20
  2. Problème avec servlet
    Par bard123 dans le forum Seam
    Réponses: 1
    Dernier message: 27/05/2008, 10h58
  3. Problème avec les servlets sous eclipse
    Par supertoms dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 03/03/2007, 19h07
  4. [SQL QUERY] Problème avec les servlet plutôt qu'avec SQL
    Par Battosaiii dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/04/2006, 01h08
  5. [débutant][servlet]Problème avec Servlet login
    Par stago dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/05/2005, 00h05

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