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 :

Aide sur une execution d'un Servlet à partir d'un tutorial de developpez.com


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Par défaut Aide sur une execution d'un Servlet à partir d'un tutorial de developpez.com
    Bonjour

    ayant suivi le tutorial de Serge tahe concernant les base de l'application web , je ne parviens pas éxécuter une servlet

    configuration logiciel : Tomcat 4.1
    Mysql 4.2
    java sdk 1.4

    configuration matériel : Xp pro

    les problèmes que j'ai:
    --> incapacité d'éxécuter une servlet
    voici ce que j'ai fait :

    Structure du projet Personne:
    webapps/root/personne/vues/ServletFormulaire.jsp
    webapps/root/personne/WEB-INF/(contenant 2 repertoires classes et lib) + un fichier xml de configuration servlet

    Contenu du dossier classes
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
                     Classes ServletFormulaire.java
     
    import java.io.*;  
    import javax.servlet.*;
    import javax.servlet.http.*;
     
     
    public class ServletFormulaire extends HttpServlet
    {
        //paramètre d'instance  
    	private String defaultNom = null; 
    	private String defaultAge = null; 
     
    	//init 
    	public void init()
    	{
    	  //on récupère les paramètres d'initialisation de la servlet 
    	  ServletConfig config = getServletConfig(); 
    	  defaultNom = config.getInitParameter("defaultNom");
    	  if(defaultNom == null)
    	    defaultNom ="NNNNNNNNNNNNN" ; 
    	  defaultAge= config.getInitParameter("defaultAge"); 
    	    defaultAge = "AAA"; 
    	 }
     
    	 //Get 
    	 public void doGet(HttpServletRequest request, HttpServletResponse response)
    	        throws IOException, ServletException
    	 {
    	 	//on récupère les paramètres du formulaire
    		String nom = request.getParameter("txtNom");
    		if(nom == null)
    		{
    		  nom = defaultNom; 
    		}
    	    String age = request.getParameter("txtAge");
    		if(age == null)
    		{
    		  age = defaultAge; 
    		}
    		//on affiche le formulaire
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter(); 
    		  out.println(
    		              "<html>"+ 
    					     "<head>"+
    						      "<title> Personne - Formulaire </title>"+
    						 "</head>"+				    
    					     "<body>"+
    						   "<center>"+
    						      "<h2> Personne - Formulaire</h2>"+
    							  "<hr>"+
    							  "<form action='' method='post'>"+
    							  "<table>"+ 
    							      "<tr>"+
    								      "<td>Nom</td>"+
    									  "<td><input type='text' name='txtNom' value='"+nom+"'/></td>"+
    								  "</tr>"+
    								   "<tr>"+
    								      "<td>Age</td>"+
    									  "<td><input type='text' name='txtAge' value='"+age+"'/></td>"+
    								  "</tr>"+							  
    							  "</table>"+
     
    							   "<table>"+
    							       "<tr>"+
    								       "<td><input type='reset' name='annuler' value='annuler'/></td>"+
    									   "<td><input type='submit' name='valider' value='valider'/></td>"+
    								  "</tr>"+
     
    							   "</table>"+
    							  "</form>"+						   
    						   "</center>"+						 
    						 "</body>"+
    					  "</html>"
    					);//fin outprintln 
    	 } 
    	 //Post 
    	 public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws IOException, ServletException 
    	 {
            //on passe la main au GET 
    		doGet(request,response); 	 
    	 }
     }//fin de classe ServletFormulaire

    Contenu de la Servlet Formulaire.jsp
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     
    <html>
    <head>
    	<title>ServletFormulaire</title>
    </head>
     
    <body>
         <center>
    	  	<h2> Personne - Formulaire </h2>
    		<form action="" > 
    		<table> 
    			<tr> 
    				<td> Nom</td>
    				<td> <input type="Text" name="txtNom" value="" /></td>
    			</tr>
    		   <tr> 
    				<td> Age</td>
    				<td> <input type="Text" name="txtAge" value="" /></td>
    			</tr>	
    		</table>
     
    		<table>
    			<tr>
    				<td><input type="reset" name="annuler" value="annuler"/></td>
    				<td><input type="submit" name="valider" value="valider"/></td>
    		    </tr>
    		</table>
     
     
    		</form> 
     
     
     
    	  </center>
     
     
    </body>
    </html>
    Contenu du fichier Configuration 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app 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://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
     
          <!-- titre -->    
       <display-name>personne </display-name>
    	<servlet><!-- cet élément donne un nom symbolique à une instance
    	              Configuration de la servlet de 9 à 29   
    	          -->
     
    	       <servlet-name> formulairepersonne</servlet-name> <!-- le nom de la servlet -->
    		      <servlet-class>personne.MaServletFormulaire </servlet-class><!-- le nom pleinement qualifiée de la classe de la servlet -->
    		   <servlet-name> </servlet-name>
    		   		<init-param>
    					<param-name>defaultN webapps/root/personne/vues/om</param-name>
    					<param-value>inconnu</param-value>
    				</init-param>
    				<init-param>
    					<param-name>defaultAge</param-name>
    					<param-value>XXX</param-value>
    				</init-param>		   
    	</servlet>
     
    	<servlet-mapping><!-- permet d'associer des url aux servlets -->
    		<servlet-name>formulairepersonne</servlet-name>
    		<url-pattern>/formulaire</url-pattern>
    	</servlet-mapping>
     
    	<welcome-file-list>
    	    <!--  indique l'existence d'un fichier index.html --> 
    		<welcome-file>index.html</welcome-file>
    	</welcome-file-list>
    </web-app>

    Je n'arrive pas à exécuter la servlet.
    Qu'est ce que j'ai oublié de faire.


    Stardeus

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Par défaut
    Bonjour

    Pour mettre en place une application web en utilisant des servlet.
    Je crée un répertoire Personne contenant un sous repertoire web-inf

    le sous repertoire WEB-inf contient :
    -->2 sous repertoire
    - classes (contient les classes java)
    - lib(ensemble des bibliotheque)
    -->1 fichier de configuration web.xml

    dans le repertoire classes
    J'ai fichier de ce type:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
                     Classes ServletFormulaire.java
     
    import java.io.*;  
    import javax.servlet.*;
    import javax.servlet.http.*;
     
     
    public class ServletFormulaire extends HttpServlet
    {
        //paramètre d'instance  
    	private String defaultNom = null; 
    	private String defaultAge = null; 
     
    	//init 
    	public void init()
    	{
    	  //on récupère les paramètres d'initialisation de la servlet 
    	  ServletConfig config = getServletConfig(); 
    	  defaultNom = config.getInitParameter("defaultNom");
    	  if(defaultNom == null)
    	    defaultNom ="NNNNNNNNNNNNN" ; 
    	  defaultAge= config.getInitParameter("defaultAge"); 
    	    defaultAge = "AAA"; 
    	 }
     
    	 //Get 
    	 public void doGet(HttpServletRequest request, HttpServletResponse response)
    	        throws IOException, ServletException
    	 {
    	 	//on récupère les paramètres du formulaire
    		String nom = request.getParameter("txtNom");
    		if(nom == null)
    		{
    		  nom = defaultNom; 
    		}
    	    String age = request.getParameter("txtAge");
    		if(age == null)
    		{
    		  age = defaultAge; 
    		}
    		//on affiche le formulaire
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter(); 
    		  out.println(
    		              "<html>"+ 
    					     "<head>"+
    						      "<title> Personne - Formulaire </title>"+
    						 "</head>"+				    
    					     "<body>"+
    						   "<center>"+
    						      "<h2> Personne - Formulaire</h2>"+
    							  "<hr>"+
    							  "<form action='' method='post'>"+
    							  "<table>"+ 
    							      "<tr>"+
    								      "<td>Nom</td>"+
    									  "<td><input type='text' name='txtNom' value='"+nom+"'/></td>"+
    								  "</tr>"+
    								   "<tr>"+
    								      "<td>Age</td>"+
    									  "<td><input type='text' name='txtAge' value='"+age+"'/></td>"+
    								  "</tr>"+							  
    							  "</table>"+
     
    							   "<table>"+
    							       "<tr>"+
    								       "<td><input type='reset' name='annuler' value='annuler'/></td>"+
    									   "<td><input type='submit' name='valider' value='valider'/></td>"+
    								  "</tr>"+
     
    							   "</table>"+
    							  "</form>"+						   
    						   "</center>"+						 
    						 "</body>"+
    					  "</html>"
    					);//fin outprintln 
    	 } 
    	 //Post 
    	 public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws IOException, ServletException 
    	 {
            //on passe la main au GET 
    		doGet(request,response); 	 
    	 }
     }//fin de classe ServletFormulaire
    Ensuite le fichier de config 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
     
     
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app 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://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
     
          <!-- titre -->    
       <display-name>personne </display-name>
    	<servlet><!-- cet élément donne un nom symbolique à une instance
    	              Configuration de la servlet de 9 à 29   
    	          -->
     
    	       <servlet-name> formulairepersonne</servlet-name> <!-- le nom de la servlet -->
    		      <servlet-class>personne.MaServletFormulaire </servlet-class><!-- le nom pleinement qualifiée de la classe de la servlet -->
    		   <servlet-name> </servlet-name>
    		   		<init-param>
    					<param-name>defaultN webapps/root/personne/vues/om</param-name>
    					<param-value>inconnu</param-value>
    				</init-param>
    				<init-param>
    					<param-name>defaultAge</param-name>
    					<param-value>XXX</param-value>
    				</init-param>		   
    	</servlet>
     
    	<servlet-mapping><!-- permet d'associer des url aux servlets -->
    		<servlet-name>formulairepersonne</servlet-name>
    		<url-pattern>/formulaire</url-pattern>
    	</servlet-mapping>
     
    	<welcome-file-list>
    	    <!--  indique l'existence d'un fichier index.html --> 
    		<welcome-file>index.html</welcome-file>
    	</welcome-file-list>
    </web-app>
    Je ne parviens pas a l'executer
    Pourriez vous m'aider??

    merci
    stardeus

  3. #3
    Membre émérite Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Par défaut
    Tu peux supprimer ton 2ème post ca ne sert à rien d'écrire 2 fois la même question.

    Déjà dans ton fichier web.xml tu as 2 fois l'élément <servlet-name> dans <servlet> supprime le 2ème qui est vide.

    Ensuite ton dossier personne (contenant ton application) il faut le mettre directement sous webapps dans le répertoire de tomcat. Ensuite tu démarres tomcat et ca devrait fonctionner

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Par défaut
    Je n'ai pas réussi à exécuter la servlet.
    J'ai modifié la config 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
    22
     
     
       <display-name>personne </display-name>
    	<servlet>	         
    	       <servlet-name> ServletFormulaire</servlet-name> 
    	       <servlet-class>.ServletFormulaire </servlet-class>
     
                      <init-param>
    		       <param-name>defaultNom</param-name>
    		       <param-value>inconnu</param-value>
    	  	 </init-param>
    	         <init-param>
    		      <param-name>defaultAge</param-name>
    		      <param-value>XXX</param-value>
    		 </init-param>		   
    	</servlet>
     
    	<servlet-mapping>
    		<servlet-name>ServletFormulaire</servlet-name>
    		<url-pattern>/formulaire/*</url-pattern>
    	</servlet-mapping>	
    </web-app>
    Je me suis basé sur les exemples de tomcat
    et je ne parviens pas à faire l'exécution
    j'ai placé le repertoire personne dans le webapps comme tu me l'avais suggéré
    L'url que je note est : http://localhost:8080/personne/formu...vletFormulaire

    Stardeus

  5. #5
    Membre émérite Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Par défaut
    Pourquoi mets-tu un point dans le servlet-class ?? Enlève-le si ta classe ne fait pas partie d'un package

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Par défaut
    ok je l'ai enlevé , je redemarré le serveur , et elle m'indique que la page n'existe pas

    pourtant la servlet est dans le chemin :
    /Web-inf/classes/ServletFormulaire.java

    je ne vois pas ce qui cloche

Discussions similaires

  1. Aide sur une requête
    Par TshAw dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/02/2005, 11h42
  2. Aide sur une requête (Group By...??)
    Par Cocolapin dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/12/2004, 10h26
  3. aide sur une image
    Par laetus dans le forum IHM
    Réponses: 5
    Dernier message: 04/10/2004, 14h54
  4. Aide sur une requete de sélection
    Par stephdiplo150 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/01/2004, 10h40
  5. Aide sur une fenetre
    Par Ray-j dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 29/11/2002, 08h51

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