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

Développement Web en Java Discussion :

Equivalent de PHP en Java


Sujet :

Développement Web en Java

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 117
    Points : 92
    Points
    92
    Par défaut Equivalent de PHP en Java
    Voici mon code PHP pour lequel je cherche équivant:

    Code PHP : 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
     
    $SQL_tab_acc ="SELECT TOP (100) PERCENT dbo.Presse.nom_presse, 
    				dbo.asso_localisation_outil.outil, dbo.produit.Reference, 
    				dbo.Presse.Ordre FROM dbo.asso_localisation_outil INNER JOIN
    				dbo.produit ON dbo.asso_localisation_outil.Produit_idProduit 
    				= dbo.produit.idProduit INNER JOIN
                    dbo.Presse ON dbo.asso_localisation_outil.idpresse = 
    				dbo.Presse.idpresse WHERE (dbo.Presse.nom_presse <> 'Outillage')
    				ORDER BY dbo.Presse.Ordre;";
    	$Req_tab_acc = sqlsrv_query($connection_outil, $SQL_tab_acc);
    	if ($Req_tab_acc == true) {
    		while  ($aRow = sqlsrv_fetch_array($Req_tab_acc, SQLSRV_FETCH_ASSOC)){
    		array_push($tab_acc, $aRow);
    		}
    	}
    	print_r($tab_acc);

    Ceci me retourne:

    Array (
    [0] => Array ( [nom_presse] => UL8 [outil] => 211-36-46 [Reference] => 211CC2S1160P [Ordre] => 1 )
    [1] => Array ( [nom_presse] => UL6 [outil] => 211-36-49 [Reference] => 211CC2S4160P [Ordre] => 2 )
    [2] => Array ( [nom_presse] => 45T1 [outil] => 260-36-03 [Reference] => PPI0001484 [Ordre] => 3 )
    [3] => Array ( [nom_presse] => 41T [outil] => 211-36-04 [Reference] => 211CL3S3120 [Ordre] => 4 )
    [4] => Array ( [nom_presse] => 50HL [outil] => 211-36-15 [Reference] => 211CL2S1160 [Ordre] => 5 )
    [5] => Array ( [nom_presse] => UL2 [outil] => 290-36-02 [Reference] => S985500 [Ordre] => 6 )
    [6] => Array ( [nom_presse] => UL3 [outil] => 211-36-21 [Reference] => 211CC2S1120 [Ordre] => 7 )
    [7] => Array ( [nom_presse] => Soco15 [outil] => 290-36-06 [Reference] => C386400 [Ordre] => 9 )
    [8] => Array ( [nom_presse] => UL5 [outil] => 211-36-41 [Reference] => 211CC3S2160 [Ordre] => 10 )
    [9] => Array ( [nom_presse] => UL1 [outil] => 211-36-02bis [Reference] => 211CL2S1120 [Ordre] => 11 )
    [10] => Array ( [nom_presse] => UL4 [outil] => 211-36-16 [Reference] => 211CL3S1160 [Ordre] => 12 )
    [11] => Array ( [nom_presse] => 25C [outil] => 211-36-01 [Reference] => 211C010 [Ordre] => 13 )
    [12] => Array ( [nom_presse] => 25F [outil] => 211-36-29 [Reference] => 211CC2S1240/1243 [Ordre] => 14 )
    [13] => Array ( [nom_presse] => S&B [outil] => 200-36-37 [Reference] => 200C1210 [Ordre] => 15 )
    ) 

    Je souhaite récuperer la meme chose en JAVA pour faire quelque chose comme ceci dans mon JSP:

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <table>
    <c:ForEach var="row" items="${tab_acc.rows}">
    <tr>
    <td><c:out value="${row.nom_presse}"/></td>
    <td><c:out value="${row.Outil}"/></td>
    <td><c:out value="${row.Reference}"/></td>
    </tr>
    </c:ForEach>
    </table>

    Merci d'avance!

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 117
    Points : 92
    Points
    92
    Par défaut
    Pour info:

    J'ai deja fait ma servlet qui établie la connexion et qui éxécute la requete mais le probleme arrive au moment de la récupération des données:

    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    while (result.next()) {
     
    }

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut
    Salut,

    Tu n'as plus qu'a récupérer tes données en faisant :

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    while (result.next()) {
    String nomPresse = result.getString("nom_presse");
    }

    Tu as aussi :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    getInt();
    getDate();
    ...

    Voir FAQ Java

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 117
    Points : 92
    Points
    92
    Par défaut
    Salut Farid63 et plawyx, dans un premier temps je vous remercie de votre aide.

    Enfaite je voudrais Récuperer mon result sous forme de tableau Associatif afin de récupérer les valeurs en fonction du nom des colonnes. Ceci me permettra de d'afficher le résultat sous forme de tableau HTML:

    [CODE=HTML]
    <table>
    <c:ForEach var="row" items="${tab_acc.rows}">
    <tr>
    <td><c:out value="${row.nom_presse}"/></td>
    <td><c:out value="${row.Outil}"/></td>
    <td><c:out value="${row.Reference}"/></td>
    </tr>
    </c:ForEach>
    </table>
    [/HTML]


    Comment envoyer les données récupérer de ma base de données vers la page JSP?

    Merci d'avance.

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Idéalement, en java, on stocke les données dans une classe dédiées, c'est plus propre que le tableau associatif.

    Si tu veux vraiment utiliser un tableau associatif, c'est Map<String,Object> qu'il faut utiliser. Lors de la requete sql, tu devra toi même créer ce tableau et y stocker les données:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    map.put("nom_presse",resultSet.getObject("nom_presse"));

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 117
    Points : 92
    Points
    92
    Par défaut
    Salut merci pour votre réponse.

    Je ne vois trop pour quel raison je devrai utiliser une classe alors qu'un simple tableau associatif suffirait.

    Perso je préfère les "choses idéales". Mais là le problème est que je ne sais pas trop comment.

    La classe devrait retourner un tableau?

    Comment dire dans mon jsp qu'il doit pointer vers la classe?

    Pour info j'utilise la JSTL.

    Merci d'avance.

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu peux très bien retourner un tableau associatif si tu préfère (Map). C'est juste que les tableau associatifs on la fâcheuse tendance à accumuler silencieusement les fautes de frappe du programmeur. Les classes bien structurée ont l'avantage de ne pas passer la compilation quand on se plante

    En l'occurence, en gardant l'idée du tableau associatif, ta méthode devrait retourner une List<Map<String,Object>>

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 117
    Points : 92
    Points
    92
    Par défaut
    Pour moi qui me suis mis du php au java, je ne pensais pas que les choses seraient aussi compliqué en java.

    Comment dois-je faire si je dois utiliser une classe?

    Le problème est toujours le même (Je voudrais retourner sous forme de tableau ou CLASSE mon resultset afin de le parcourir sur mon jsp en utilisant JSTL (Je souhaite afficher les données grave au nom des colonnes de ma table)):

    Voici mon Complet JAVA:

    Code JAVA : 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
     
     
    package OutillageCentrale;
     
    import java.io.IOException;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Hashtable;
    import java.util.List;
    import java.util.Map;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
     
    /**
     * Servlet implementation class Acceuil
     */
    public class Acceuil extends HttpServlet {
     
    	private static final long serialVersionUID = 1L;
    	public static final String VUEAcceuil = "/WEB-INF/FaireDemande/fairedemande1.jsp";
    	private ArrayList<String> messages = new ArrayList<String>();
    	public static final String ATT_MESSAGES = "messages";
     
    	/**
             * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
             */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    					throws ServletException, IOException {
     
    		//Connection to DB
    		ConOutillageCentrale conOutillageCentrale = new ConOutillageCentrale();
     
    		try {
     
    			//Création d'un objet Statement
    			Statement state = conOutillageCentrale.conOutillageCentrale.createStatement();
     
                //L'objet ResultSet contient le résultat de la requête SQL
    			ResultSet result = state.executeQuery("SELECT * FROM NomControle;");
     
     
    	        /* Récupération des données du résultat de la requête de
    	        lecture */
     
    	        while ( result.next() ) {
    	        int idNomControle = result.getInt( "IdNomControle" );
    	        String nomControle = result.getString( "NomControle" );
    	        /* Formatage des données pour affichage dans la JSP
    	        finale. */
    	        messages.add( "Données retournées par la requête : id =  " + idNomControle + ", email = " + nomControle+ "." );
    	         }
     
    	        request.setAttribute(ATT_MESSAGES, messages);
     
    	       this.getServletContext().getRequestDispatcher( VUEAcceuil  ).forward( request, response );
    	}catch ( Exception e ) {   System.out.println("ERREUR"); }
     
     
    	 finally {
    		try {
    			conOutillageCentrale.conOutillageCentrale.close();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    	 }
    	}
     
    	/**
             * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
             */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    	}
     
    }

    Merci d'avance en étant complètement perdu dans le monde de JAVA.

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class Controle{
        int id;
        String nom;
        public void setId(int id){this.id=id;}
        public int getId(){return id;}
        public void setNom(String nom){this.nom=nom;}
        public int getNom(){return nom;}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        ResultSet result = state.executeQuery("SELECT * FROM NomControle;");
        List<Controle> result = new ArrayList<Controle>();
        while ( result.next() ) {
           Controle controle = new Controle();
           controle.setId(result.getInt( "IdNomControle" ));
           controle.setNom(result.getString( "NomControle" ));
           result.add(controle);
        }
        request.setAttribute("controles", result);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <table>
    <c:ForEach var="controle" items="${controles}">
    <tr>
    <td><c:out value="${controle.nom}"/></td>
    <td><c:out value="${controle.id}"/></td>
    </tr>
    </c:ForEach>
    </table>

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 117
    Points : 92
    Points
    92
    Par défaut
    Merci pour votre aide.

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

Discussions similaires

  1. Equivalent de PHP en Java
    Par khalidlyon dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 17/06/2015, 17h21
  2. Equivalent de l'array POST / GET / REQUEST PHP en Java ?
    Par sjachym dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 04/05/2012, 19h05
  3. Que choisir : PHP versus Java ?
    Par Sniper37 dans le forum Général Conception Web
    Réponses: 164
    Dernier message: 28/04/2009, 16h50
  4. [Tomcat]échange de session entre php et java
    Par benwa dans le forum Tomcat et TomEE
    Réponses: 18
    Dernier message: 05/06/2007, 17h01
  5. [JSP/Tomcat] Intégration de PHP dans Java
    Par milhouz_deglingos dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 17/08/2005, 12h02

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