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 :

afficher resultat d'une requete sur une page jsp


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut afficher resultat d'une requete sur une page jsp
    slt tous l monde.

    je suis debutant en jsp/servlet
    le probleme c que j'ai une page jsp qui appelle un servlet.

    le servelet se connecte à la bd est retourne le resultat de requete.

    ce que c'est comment se rediriger de ma serveltte vers une nouvelle page jsp
    pour afficher les ressultats de ma requete dans un tableau .

    et merci d'avance

  2. #2
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Points : 181
    Points
    181
    Par défaut
    Si tu n'utilise pas Struts, tu dois créer un bean dans leqeul tu vas mettre les données récupérées.
    Le bean doit définir les champs et les méthodes get et set.

    ensuite, vas crée un nouveau bean pour chaque enregistrement puis tu mets les beans dans un arraylist par exemple.

    tu lace ton arraylist dans ton objet requet ou session (au choix) et tu le récupères dans ta jsp.

    ensuite, tu dois faire une itération sur l'arraylist pour récupérer les beans, avec un <tr> </tr> à chaque itération.

    si tu veux générer une pagination (car trop d'éléments retournés, c'est un peu plus complique).

    c'est pourquoi, struts et les taglib sont bien sympa pour te faciliter la vie.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    502
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 502
    Points : 227
    Points
    227
    Par défaut
    salut je vais te donner un exemple de codes
    tu cree un bean exemple "Categorie":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    package servlet;
     
    public class Categorie {
     
    	public String nom;
    	public int idcategorie;
    }
    tu cree ton bean "acces base de donnees"
    exemple de code : ce code donne acces a la base de données de mysql
    et transmet les informations dans le bean "Categorie"
    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
    package servlet;
     
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.Vector;
     
     
    import com.mysql.jdbc.Connection;
    import com.mysql.jdbc.PreparedStatement;
    import com.mysql.jdbc.Statement;
     
     
    public class Bdmysql {
     
    	public  Connection accesbase() throws SQLException
    	{
     
    		try{
    			Class.forName("com.mysql.jdbc.Driver");
    			System.out.println("JDBC Load entreprise ok");
    		}
    		catch (ClassNotFoundException e1)
    		{
    			System.out.println(e1);
    		}
    			 java.sql.Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/ecommerce","pseudo","password");
    			 System.out.println("bonne connexion ");
     
    		 return (Connection) connexion;	 	
    	}
     
    	public ArrayList getCategorie() throws SQLException
    	{
     
    		Categorie categorie =null;
    		ArrayList<Categorie> list=new ArrayList<Categorie>();
    		String sql="select idcategorie,nomcategorie from Categorie";
     
    		Statement st =(Statement) accesbase().createStatement();
    		ResultSet re =st.executeQuery(sql);
     
    		while (re.next())
    		{ categorie=new Categorie();
     
    		 categorie.idcategorie= re.getInt("idcategorie");		 
    		 categorie.nom=re.getString("nomcategorie");
    		 list.add(categorie);
    		}
    		accesbase().close();
    		re.close();
    		st.close();
    	return list;
     
    	}
    ta page jsp qui doit afficher les categorie

    exemple de code :
    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
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ page import="java.util.* "%>
    <jsp:useBean id="bdmysql" scope="application" class="servlet.Bdmysql"/> 
    <%@ page import="servlet.Categorie" %> 
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>bienvenue</title>
    </head>
    <body>
    <h2>Les Categorie </h2>
      <% 
      String base= "http://localhost:8080/Salut/Controller";
       ArrayList categorie =  bdmysql.getCategorie();
       Iterator iterator = categorie.iterator();
         while(iterator.hasNext())
             {
             Categorie cat =(Categorie) iterator.next();%> 
     
      <p> <a href="<%=base%>?action=souscategorie&categorieid=<%=cat.idcategorie%>"><%=cat.nom %></a></p>
     
      <%} %>
       <p> <a href="<%=base %>?action=inscription">Incription</a></p>
     
    </body>
    </html>
    voici l'element du code qui te permet d'afficher les categorie sous form de lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     <% 
      String base= "http://localhost:8080/Salut/Controller";
       ArrayList categorie =  bdmysql.getCategorie();
       Iterator iterator = categorie.iterator();
         while(iterator.hasNext())
             {
             Categorie cat =(Categorie) iterator.next();%> 
     
      <p> <a href="<%=base%>?action=souscategorie&categorieid=<%=cat.idcategorie%>"><%=cat.nom %></a></p>
     
      <%} %>
    ce petit bout de code sert a transmettre les information a la servlet et de le dispacher sur une autre page jsp action est un nom que tu cree pour prendre une action ex: souscategorie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=base%>?action=souscategorie&categorieid=<%=cat.idcategorie%>
    voici la servlet qui te sert a dispacher sur une autre page jsp avec action.equals("souscategorie");:

    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
    package servlet;
     
    import java.io.IOException;
     
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    /**
     * Servlet implementation class for Servlet: Controller
     *
     */
     public class Controller extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
        /**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
     
    	/* (non-Java-doc)
    	 * @see javax.servlet.http.HttpServlet#HttpServlet()
    	 */
    	public void init(ServletConfig config) throws ServletException{
    		ServletContext context =config.getServletContext();
    		context.setAttribute("base", config.getInitParameter("base"));
    		Bdmysql mysql =new Bdmysql();
    		context.setAttribute("mysql",mysql );
    		super.init(config);
     
     
     
     
    	}
     
     
     
    	public Controller() {
    		super();
    	}   	
     
    	/* (non-Java-doc)
    	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doPost(request,response);
    	}  	
     
    	/* (non-Java-doc)
    	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		String base ="/com/";
    		String url =base +"Default.jsp";
    		String action =request.getParameter("action");
    		if (action!=null)
    		{
    			if(action.equals("souscategorie"))
    			{
    				url = base +"Souscategorie.jsp";
     
    				RequestDispatcher requestDispatcher =getServletContext().getRequestDispatcher(url);
    				requestDispatcher.forward(request, response);
    				return;
    			}
    }

  4. #4
    Membre éprouvé
    Avatar de lazarel
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2007
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2007
    Messages : 893
    Points : 1 164
    Points
    1 164
    Par défaut
    je vais étudier ça petit à petit

    Merci

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. Réponses: 4
    Dernier message: 25/07/2013, 07h24
  3. Afficher le résultat d'une requête sur même page JSP
    Par alaninho dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 10/10/2012, 22h03
  4. [MySQL] Afficher le résultat d'une requete sur plusieurs pages.
    Par Mat67 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/06/2007, 16h01
  5. Réponses: 2
    Dernier message: 31/05/2006, 09h47

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