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 :

Remplissage d'une liste déroulante en JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Points : 47
    Points
    47
    Par défaut Remplissage d'une liste déroulante en JSP
    salut,

    mon but est de remplir une liste déroulante dans une page JSP à travers

    une servlet.

    la servlet dois retourne une liste des String.

    et dans la page jsp je dois parcourir cette liste de String et à l'aide de cette liste je dois remplir la liste déroulante.

    si on parle un peu de contenu de cette liste de String ces sont les noms de mes societes qui sont récupérés de fichier data.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
    <?xml version="1.0" encoding="UTF-8"?>
    <societes>
       <societe>
          <nom>tochiba</nom>
          <domaine>info</domaine>
       </societe>
     
     
       <societe>
          <nom>HR</nom>
          <domaine>info</domaine>
       </societe>
     
    </societes>
    donc je dois mettre dans la servlet le code java qui dois parser ce fichier et qui retourne une liste de String

    pour ce code c'est celle ci et il est testé

    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
    SAXBuilder sxb=new SAXBuilder();
                    List<String> liste=new ArrayList<String>();
    		try {
    			Document document=sxb.build(new File("data.xml"));
    			Element societes=document.getRootElement();
    			List<Element> soc=societes.getChildren();
     
     
                            for(Element societe:soc){
     
     
    				String nom=societe.getChild("nom").getText();
                                    liste.add(nom);
     
    			}
     
     
    		} catch (JDOMException e) {
     
    			e.printStackTrace();
    		} catch (IOException e) {
     
    			e.printStackTrace();
    		}
    pour la page jsp je pense que je dois mettre un code comme celle ci

    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
     
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>exemple</title>
    </head>
    <body>
    <%@ page import="java.util.ArrayList" %>
    <%
    ArrayList<String> liste = (ArrayList) request.getAttribute("socity");
    %>
     
    <select name="itemSelected">
    <%
            for (int i=0; i<liste.size(); i++)
            {
                    String item= (String) liste.get(i) ;
    %>
    	   <option value="<%=item%>"><%=item%></option>
    <%
            }
    %>
    </select>
    </body>
    </html>

    et pour la servlet elle doit contient autre que le code java qui j'ai déjà mentionné (code de parcour de fichier data.xml)

    cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("socity",liste);
    j'espère que je peux trouvez une solution pour mon problème

    merci d'avance

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    c'est quoi le problème exactement?

    tu fait request.setAttribute dans ta servlet? est-ce que tu récupère le contenu de ta liste dans ta jsp?
    Essaye de voir à quel moment tu ne peut plus récupérer ta liste, car ton code pour la liste déroulante devrait t'afficher quelque chose si tu positionne bien ta liste de valeur dans la requête.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Points : 47
    Points
    47
    Par défaut
    moi je vous donne quel dois contenu la servlet et quel dois envoyer comme donné vers la page jsp (bien sur elle dois envoi une liste de String (en d'autre terme c 'est les nom des sociétés qui sont récupéré de fichier data.xml)

    et je vous donne aussi le code java grâce auquel j'arrive a parser ce fichier

    et je veux savoir la structure final de servlet( où je dois mettre le code de parser le fichier (dans la methode doGet ou doPost ou Service))

  4. #4
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonjour

    si j' étais toi je mettrais le code qui permet de parser le fichier XML dans une classe Metier et tu appelles une méthode de cette classe métier à partir de la méthode doGet de ta servlet ( à condition que tu accèdes à ta servlet avec une méthode HTTP GET)

  5. #5
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Points : 47
    Points
    47
    Par défaut
    peu être votre solution ressemble un peux difficile pour moi

    je pense que je peu mettre tous dans la servlet( je parle de code qui parcoure le fichier.xml)

    et pour la page jsp

    je pense quel dois etre comme celle ci

    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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"
     import="java.util.ArrayList"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>exemple</title>
    </head>
    <body>
    <%
    ArrayList<String> liste = (ArrayList) request.getAttribute("listeNom");
    %>
     <form action="<%=request.getContextPath()%>/TestServlet" method="POST">
    <select name="itemSelected">
    <%
            for (int i=0; i<liste.size(); i++)
            {
                    String item= (String) liste.get(i) ;
    %>
    	   <option value="<%=item%>"><%=item%></option>
    <%
            }
    %>
    </select>
    </form>
    </body>
    </html>


    et pour le fichier web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     <servlet>
        <description></description>
        <display-name>TestServlet</display-name>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>pakageServlet.TestServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/TestServlet</url-pattern>
      </servlet-mapping>

    et pour le servlet
    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
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
     
    public class MaServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
     
     
        public MaServlet() {
            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
    		super.doGet(request, response);
    	}
     
     
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		SAXBuilder sxb=new SAXBuilder();
                    List<String> liste=new ArrayList<String>();
    		try {
    			Document document=sxb.build(new File("data.xml"));
    			Element societes=document.getRootElement();
    			List<Element> soc=societes.getChildren();
     
     
                            for(Element societe:soc){
     
     
    				String nom=societe.getChild("nom").getText();
                                    liste.add(nom);
     
    			}
                       request.setAttribute("listeNom",liste);
     
     
    		} catch (JDOMException e) {
     
    			e.printStackTrace();
    		} catch (IOException e) {
     
    			e.printStackTrace();
    		}
     
     
     
     
    	}
     
    }


    comme je dis le principe est simple c'est de remplir une liste deroulante grace

    a une servlet qui elle qui va parcourir le fichier data.xml

    avec bien sur le contenu de fichier data.xml est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8"?>
    <societes>
       <societe>
          <nom>tochiba</nom>
          <domaine>info</domaine>
       </societe>
     
     
       <societe>
          <nom>HR</nom>
          <domaine>info</domaine>
       </societe>
     
    </societes>

    SVP s'il y'a une erreur au niveau de servlet ou au niveau de la page jsp

    j'espère qui vous pouvez m'aidez

    merci d'avance

  6. #6
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Points : 47
    Points
    47
    Par défaut
    je teste ce code mais il m'affiche cette erreur

    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
    org.apache.jasper.JasperException: An exception occurred processing JSP page /maPageJsp.jsp at line 20
     
    17:  <form action="<%=request.getContextPath()%>/TestServlet" method="POST">
    18: <select name="itemSelected">
    19: <%
    20:     for (int i=0; i<liste.size(); i++)
    21:     {
    22:                 String item= (String) liste.get(i) ;
    23: %>
     
     
    Stacktrace:
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:415)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     
     
    cause mère 
     
    java.lang.NullPointerException
    	org.apache.jsp.maPageJsp_jsp._jspService(maPageJsp_jsp.java:74)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

  7. #7
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Est-ce que vous pouvez au moins nous donner un trace d'erreur ?
    La façon que j'ai indiqué est simple à mettre en œuvre et permet la séparation des couches, en l'occurrence là c'est le métier et le contrôleur

    code de la servlet

    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
     
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
     
    public class MaServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
     
     
        public MaServlet() {
            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
            super.doGet(request, response);
        }
     
     
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            try {
     
                       request.setAttribute("listeNom",ParseXmlFile.getInstance().getDatas());
     
                }
     
     
            } catch (JDOMException e) {
     
                e.printStackTrace();
            } catch (IOException e) {
     
                e.printStackTrace();
            }
     
     
     
     
        }
     
    }

    code métier

    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
     
     
    class ParseXmlFile {
     
    private static ParseXmlFile parser = new ParseXmlFile();
     
    private ParseXmlFile(){
     
    }
     
    public static synchronized ParseXmlFile getInstance(){
        if( parser  == null){
          parser = new ParseXmlFile();
       }
       return parser;
    }
     
    public static List<String> getDatas() throws Exception{
      SAXBuilder sxb=new SAXBuilder();
                    List<String> liste=new ArrayList<String>();
                Document document=sxb.build(new File("data.xml"));
                Element societes=document.getRootElement();
                List<Element> soc=societes.getChildren();
     
     
                            for(Element societe:soc){
     
     
                    String nom=societe.getChild("nom").getText();
                                    liste.add(nom);
     
                      return liste;
     
     
     
     
     
    }
     
     
    }
    En faisant comme ça , vous pourrez appeler le parsing du même fichier XML depuis une autre classe (servlet ou autre)

    Il se peut que ce code ne compile pas car je l'ai écris à la volée ...
    je vous laisse faire le reste

    NB: donnez nous une trace d'erreur pour qu'on puisse vous aider

  8. #8
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Il y a deux points

    1)je lis que la servlet s'appelle MaServlet et dans le fichier web.xml vous l'appeler TestServlet

    2) Qui appelle la JSP ?
    pour que ça marche il faut que la servlet MaServlet appelle la JSP en faisant un forward vers la JSP

  9. #9
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Points : 47
    Points
    47
    Par défaut
    merci pour la reponse

    je suivre exactement votre démarche

    et je crée
    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
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
    public class ParseXmlFile {
    	private static ParseXmlFile parser = new ParseXmlFile();
     
    	private ParseXmlFile(){
     
    	}
     
    	public static synchronized ParseXmlFile getInstance(){
    	    if( parser  == null){
    	      parser = new ParseXmlFile();
    	   }
    	   return parser;
    	}
     
    	public static List<String> getDatas() throws Exception{
    	  SAXBuilder sxb=new SAXBuilder();
    	                List<String> listeNomParser=new ArrayList<String>();
    	           Document document=sxb.build(new File("././basexml/data.xml"));
    	            Element societes=document.getRootElement();
    	            List<Element> soc=societes.getChildren();
     
     
    	                        for(Element societe:soc){
     
     
    	                String nom=societe.getChild("nom").getText();
    	                                listeNomParser.add(nom);
     
     
     
     
     
     
     
    	}
     
    							return listeNomParser;
     
     
    	}
     
     
    }

    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
     
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    /**
     * Servlet implementation class ServletTest
     */
    public class ServletTest extends HttpServlet {
    	private static final long serialVersionUID = 1L;
     
        /**
         * @see HttpServlet#HttpServlet()
         */
        public ServletTest() {
            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
    		super.doGet(request, response);
    	}
     
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
     
                 try {
    				request.setAttribute("listeNom",ParseXmlFile.getInstance().getDatas());
    				 getServletContext().getRequestDispatcher("/maPageJsp.jsp").forward(request, response);
    			} catch (Exception e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
     
     
     
     
     
    	}
     
    }
    et pour la page 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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"
     import="java.util.ArrayList"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>exemple</title>
    </head>
    <body>
     <form action="<%=request.getContextPath()%>/ServletTest" method="POST">
    <%
    ArrayList<String> listeNomParser = (ArrayList) request.getAttribute("listeNom");
    %>
     
    <select name="itemSelected">
    <%
            for (int i=0; i<listeNomParser.size(); i++)
            {
                    String item= (String) listeNomParser.get(i) ;
    %>
    	   <option value="<%=item%>"><%=item%></option>
    <%
            }
    %>
    </select>
    </form>
    </body>
    </html>
    pour le fichier web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <servlet>
        <description></description>
        <display-name>ServletTest</display-name>
        <servlet-name>ServletTest</servlet-name>
        <servlet-class>PackageServlet.ServletTest</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>ServletTest</servlet-name>
        <url-pattern>/ServletTest</url-pattern>
      </servlet-mapping>

    l'erreur est :
    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
    org.apache.jasper.JasperException: java.lang.NullPointerException
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:415)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     
     
    cause mère 
     
    java.lang.NullPointerException
    	org.apache.jsp.maPageJsp_jsp._jspService(maPageJsp_jsp.java:74)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

    peu être il n'arrive pas à pointer vers le fichier data.xml que je le met dans un dossier qui s'appelle basexml
    qui a le même niveau que :java Resources :src (je parle de dossier basexml)

    n'oubli pas que la class ParseXmlFile se trouve dans un pakage "monpakage" qui est lui même sous src

    c 'est pour cela je met ././basexml/data.xml (je remente de deux niveau et apres j'accède au fichier)



    meme si je fait comme ca
    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
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
    public class ParseXmlFile {
    	private static ParseXmlFile parser = new ParseXmlFile();
     
    	private ParseXmlFile(){
     
    	}
     
    	public static synchronized ParseXmlFile getInstance(){
    	    if( parser  == null){
    	      parser = new ParseXmlFile();
    	   }
    	   return parser;
    	}
     
    	public static List<String> getDatas() throws Exception{
    	 //SAXBuilder sxb=new SAXBuilder();
    	                List<String> listeNomParser=new ArrayList<String>();
    	   /*        Document document=sxb.build(new File("././basexml/Testvrai.xml"));
    	            Element societes=document.getRootElement();
    	            List<Element> soc=societes.getChildren();
     
     
    	                        for(Element societe:soc){
     
     
    	                String nom=societe.getChild("nom").getText();
    	                                listeNomParser.add(nom);
     
     
     
     
     
     
    	}
    	     */  
     
     
    	                listeNomParser.add("hp");
    	                listeNomParser.add("Ibm");
    							return listeNomParser;
     
     
    	}
     
     
    }
    meme erreur
    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
    org.apache.jasper.JasperException: java.lang.NullPointerException
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:415)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     
     
    cause mère 
     
    java.lang.NullPointerException
    	org.apache.jsp.maPageJsp_jsp._jspService(maPageJsp_jsp.java:74)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

    peut etre erreur au niveau de code de la page jsp

  10. #10
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    C'est facile à savoir
    tu n'as qu'à faire du debug dans ta classe Parser le pour voir le contenu de ta liste qui contient les données du fichier XML
    ou au pire des cas tu mets du system.out

    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
     
    public static List<String> getDatas() throws Exception{
    	  SAXBuilder sxb=new SAXBuilder();
    	                List<String> listeNomParser=new ArrayList<String>();
    	           Document document=sxb.build(new File("././basexml/data.xml"));
    	            Element societes=document.getRootElement();
    	            List<Element> soc=societes.getChildren();
     
     
    	                        for(Element societe:soc){
     
     
    	                String nom=societe.getChild("nom").getText();
    	                                listeNomParser.add(nom);
     
     
     
     
     
     
     
    	}
     
    for (String datasFromXML : listeNomParser){
    System.out.println(datasFromXML);
    }
     
    							return listeNomParser;
     
     
    	}

  11. #11
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Points : 47
    Points
    47
    Par défaut
    j'arrive a vérifier que je suis sur que je pointe dans le fichier data.xml

    en donnant ce chemin ././basexml/data.xml

    je la test a par et elle me rend les noms de socites

    reste le problème est ce que cette liste est réellement envoyés vers la page jsp ou non

    donc je besoin d'aide pour quelqu'un vérifier avec moi le code de la page jsp

    et le code de la servlet (surtout cote syntax)

    merci d'avance

  12. #12
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Points : 47
    Points
    47
    Par défaut
    pour être sur que les données sont envoyés de servlet vers une page jsp

    si possible pouvez me donnez un exemple de code qui juste

    envoie une liste de String d'une servlet vers une page jsp et bien sur la page jsp récupéré cette liste

    car apparament la servlet ne peux pas envoi une liste de String elle peut juste

    envoi des donnés simples comme String ou int ou float

    merci d'avance

  13. #13
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Points : 53
    Points
    53
    Par défaut
    Salut, j'ai regardé un peu ton problème, mais j'aurai besoin de quelques précisions.
    Comment tu accède à ta servlet, tu saisi :
    http://localhost:8080/contextRoot/url-pattern?

    Si tu fait bien ça, est ce que tu a le message sur ton navigateur comme quoi la methode doGet ne peut pas être résolu sur cette url?

    Si tu es dans ce cas la, ce qui doit être certainement le cas car j'ai réussi a obtenir le même message d'Exception que toi.
    C'est que dans ton doGet il ne faut pas faire super.doGet(...). De plus pour info un constructeur comme tu a mis ne sert à rien et en plus tu t'en servira jamais car c'est ta jvm qui est chargé d'instancier la servlet.

    Donc en conclusion met ton code de doPost dans doGet et retest, tu ne devrai plus avoir l'erreur (le doPost te permet de passer des parametre a la servlet quand tu l'appel, ici ce n'est pas ce que tu fait, de plus ci tu ecrit l'url dans la barre d'url du navigateur, cela appel forcement un doGet).

    Tiens moi au courant

  14. #14
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    ou encore dans ta méthode doGet tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    		doPost(request, response);
    	}
    comme ça quelque soit le type de requête (enfin GET ou POST) elle sera traitée

  15. #15
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Points : 47
    Points
    47
    Par défaut
    merci pour la réponse

    j'essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doPost(request, response);
     
    	}
    et pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    		   try {
    				request.setAttribute("listeNom",ParseXmlFile.getInstance().getDatas());
    			  //request.setAttribute("listeNom",val);
    				 getServletContext().getRequestDispatcher("/maPageJsp.jsp").forward(request, response);
    			} catch (Exception e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
     
     
     
    	}
    et pour la page 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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"
     import="java.util.ArrayList"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>exemple</title>
    </head>
    <body>
     <form action="<%=request.getContextPath()%>/ServletTest" method="post">
    <%
    ArrayList<String> listeNomParser = (ArrayList) request.getAttribute("listeNom");
    %>
     
    <select name="itemSelected">
    <%
            for (int i=0; i<listeNomParser.size(); i++)
            {
                    String item= (String) listeNomParser.get(i) ;
    %>
    	   <option value="<%=item%>"><%=item%></option>
    <%
            }
    %>
    </select>
    </form>
    </body>
    </html>
    mais malheureusement l'erreur reste
    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
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    org.apache.jasper.JasperException: java.lang.NullPointerException
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:415)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     
     
    cause mère 
     
    java.lang.NullPointerException
    	org.apache.jsp.maPageJsp_jsp._jspService(maPageJsp_jsp.java:73)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de JBossWeb/2.0.1.GA.

  16. #16
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Points : 53
    Points
    53
    Par défaut
    T as lu mes question et ma réponse?
    Fait comme moi, j'ai pris exactement le même code que toi sauf pour le chemin du fichier et ça marche, alors rappel pas le doPost, deplace ton code de doPost dans doGet() et supprime bien le super.doGet(..) et surtout n'oubli pas de bien mettre ta page jsp dans webContent. Dit moi ce que le navigateur affiche

  17. #17
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Points : 47
    Points
    47
    Par défaut
    vraiment je suis etonnee comment ce code ca marche lorsque vous tester et quant je le teste il m'affiche toujours

    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
     serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    org.apache.jasper.JasperException: java.lang.NullPointerException
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:415)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     
     
    cause mère 
     
    java.lang.NullPointerException
    	org.apache.jsp.maPageJsp_jsp._jspService(maPageJsp_jsp.java:73)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    a mon avie d'apres cette erreur la liste n'est pas envoyé vers la page jsp

    vous dite que vous testez le même code
    donc si possible pouvez m'envoyer votre code

    je parle de servlet et jsp

    pour mon cas le code de servlet est :
    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
    public class ServletTest extends HttpServlet {
    	private static final long serialVersionUID = 1L;
     
        /**
         * @see HttpServlet#HttpServlet()
         */
        public ServletTest() {
            super();
            // TODO Auto-generated constructor stub
        }
     
     
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    		   try {
    				request.setAttribute("listeNom",ParseXmlFile.getInstance().getDatas());
     
    				 getServletContext().getRequestDispatcher("/maPageJsp.jsp").forward(request, response);
    			} catch (Exception e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
     
    	}
     
     
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    		   try {
    				request.setAttribute("listeNom",ParseXmlFile.getInstance().getDatas());
     
    				 getServletContext().getRequestDispatcher("/maPageJsp.jsp").forward(request, response);
    			} catch (Exception e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
     
     
     
    	}
     
    }
    et pour la 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
     <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"
     import="java.util.ArrayList"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>exemple</title>
    </head>
    <body>
     <form action="<%=request.getContextPath()%>/ServletTest" method="post">
    <%
    ArrayList<String> listeNomParser = (ArrayList) request.getAttribute("listeNom");
    %>
     
    <select name="itemSelected">
    <%
            for (int i=0; i<listeNomParser.size(); i++)
            {
                    String item= (String) listeNomParser.get(i) ;
    %>
    	   <option value="<%=item%>"><%=item%></option>
    <%
            }
    %>
    </select>
    </form>
    </body>
    </html>

  18. #18
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Points : 53
    Points
    53
    Par défaut
    Essaye sans le constructeur car c'est vraiment un copier collé de ton code sans le public TestServlet (le constructeur donc).
    Et tout ton code jsp est bon car j'ai rien changé du tout.

    donc la servlet :
    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
     
    public class TestServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
     
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		try {
    			request.setAttribute("listeNom", ParseXmlFile.getInstance().getDatas());
    			getServletContext().getRequestDispatcher("/maPageJsp.jsp").forward(request, response);
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
     
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		try {
    			request.setAttribute("listeNom", ParseXmlFile.getInstance().getDatas());
    			getServletContext().getRequestDispatcher("/maPageJsp.jsp").forward(request, response);
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }

    la jsp, maPageJsp.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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"
     import="java.util.ArrayList"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>exemple</title>
    </head>
    <body>
     <form action="<%=request.getContextPath()%>/ServletTest" method="POST">
    <%
    ArrayList<String> listeNomParser = (ArrayList) request.getAttribute("listeNom");
    %>
     
    <select name="itemSelected">
    <%
            for (int i=0; i<listeNomParser.size(); i++)
            {
                    String item= (String) listeNomParser.get(i) ;
    %>
    	   <option value="<%=item%>"><%=item%></option>
    <%
            }
    %>
    </select>
    </form>
    </body>
    </html>
    parserXml (j'ai mis mon fichier sur mon disque d:/ c'était plus rapide pour moi mais, peut importe c'est pas ça ton problème apparemment):
    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
     
    public class ParseXmlFile {
    	private static ParseXmlFile parser = new ParseXmlFile();
     
    	private ParseXmlFile(){
     
    	}
     
    	public static synchronized ParseXmlFile getInstance(){
    	    if( parser  == null){
    	      parser = new ParseXmlFile();
    	   }
    	   return parser;
    	}
     
    	public static List<String> getDatas() throws Exception{
    		SAXBuilder sxb=new SAXBuilder();
    		List<String> listeNomParser=new ArrayList<String>();
    		Document document=sxb.build(new File("/data.xml"));
    		Element societes=document.getRootElement();
    		List<Element> soc = societes.getChildren();
     
    		for(Element societe:soc){  
    			String nom=societe.getChild("nom").getText();
    			listeNomParser.add(nom);
    		}
    		return listeNomParser;
    	}
     
    }
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" 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://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    	<display-name>
    	testServletSimple</display-name>
    	<servlet>
    		<servlet-name>testServletSimple</servlet-name>
    		<servlet-class>controller.TestServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>testServletSimple</servlet-name>
    		<url-pattern>/servlet.do</url-pattern>
    	</servlet-mapping>
    	<welcome-file-list>
    		<welcome-file>index.html</welcome-file>
    		<welcome-file>index.htm</welcome-file>
    		<welcome-file>index.jsp</welcome-file>
    		<welcome-file>default.html</welcome-file>
    		<welcome-file>default.htm</welcome-file>
    		<welcome-file>default.jsp</welcome-file>
    	</welcome-file-list>
    </web-app>
    et arborescence du projet (Dynamic Web Project) non exaustive:
    -testServletSimple
    -src (les source java, peu importe ta strucure du moment que ça compile)
    -package
    -webContent
    -META-INF
    -WEB-INF
    -web.xml
    -maPagJsp.jsp

    Et donc dans mon navigateur j'écrit l'url : http://localhost:8080/testServletSimple/servlet.do

    Voila, je ne vois pas comment t'aider plus, mais n'hésite pas si quelque chose n'est pas clair.

  19. #19
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    j'ai l'impression que tu as un problème dans ta cinématique

    dans ta JSP maPageJsp.jsp tu as un form qui appelle ta servlet ServletTest avec la méthode POST et dans ta servlet ServletTest tu appelles ta JSP maPageJsp.jsp

    Au final qui appelle quoi en premier. Si tu appelles ta servlet en premier ça devrait fonctionner

    Est-ce que tu as bien mis dans ton navigateur http://localhost:8080/contextRoot/ServletTest ?

  20. #20
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Points : 47
    Points
    47
    Par défaut
    merci pour vos réponses

    mais voila l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    javax.servlet.ServletException: L'exécution de la servlet a lancé une exception
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     
     
    cause mère 
     
    java.lang.NoClassDefFoundError: org/jdom/input/SAXBuilder
    	org.ParseXmlFile.getDatas(ParseXmlFile.java:26)
    	org.TestServlet.doGet(TestServlet.java:23)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

    pourtant si je fait comme ca

    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
    public static List<String> getDatas(){
     
    		//SAXBuilder sxb=new SAXBuilder();
    		List<String> listeNomParser=new ArrayList<String>();
    		/*Document document = null;
    		try {
    			document = sxb.build(new File("././basexml/Testvrai.xml"));
    		} catch (Exception e) {
     
    			e.printStackTrace();
    		}
    		Element societes=document.getRootElement();
    		List<Element> soc = societes.getChildren();
     
    		for(Element societe:soc){  
    			String nom=societe.getChild("nom").getText();
    			listeNomParser.add(nom);
    		}*/
    		listeNomParser.add("hp");
    		listeNomParser.add("ibml");
    		return listeNomParser;
    	}
    il m'affiche une liste deroulante avec comme valeur (hp et ibm)

Discussions similaires

  1. Remplissage d'une liste déroulante en JSP
    Par ulysse031 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 13/05/2011, 16h53
  2. Remplissage d'une liste déroulante d'après base
    Par nicomax34 dans le forum Langage
    Réponses: 8
    Dernier message: 31/01/2009, 14h59
  3. [phpBB] Remplissage d'une liste déroulante
    Par kitiss dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 05/01/2009, 14h11
  4. remplissage d'une liste déroulante à partir d'une autre liste
    Par monphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/05/2007, 12h28
  5. [MySQL] Remplissage d'une liste déroulante à partir d'une requête SQL
    Par gaucher dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 11/05/2006, 15h46

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