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 :

lister le contenu d'un dossier avec JSP


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 64
    Points : 28
    Points
    28
    Par défaut lister le contenu d'un dossier avec JSP
    Bonjour tout le monde

    J'ai quelques questions et j'espère que vous pouvez me répondre le plus tôt possible

    Est ce qu'on peut lister le contenu d'un dossier avec JSP? Si oui est ce que vous pouvez m'indiquer comment faire?

    En fait, je voudrais lister le contenu d'un dossier avec JSP (des fichiers mp3) et lire un des fichiers mp3 en cliquant dessus.

    Pour le moment, j'ai une classe qui me permet de lire un fichier mp3 dont le chemin est donné en paramètre.

    Est ce que quelqu'un pourrait m'indiquer la suite s'il vous plait (même une petite indication), merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 100
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par MarENSI Voir le message
    Est ce qu'on peut lister le contenu d'un dossier avec JSP?
    Oui

    Citation Envoyé par MarENSI Voir le message
    Si oui est ce que vous pouvez m'indiquer comment faire?
    Oui

    Citation Envoyé par MarENSI Voir le message
    Pour le moment, j'ai une classe qui me permet de lire un fichier mp3 dont le chemin est donné en paramètre.
    Code?

    Citation Envoyé par MarENSI Voir le message
    Est ce que quelqu'un pourrait m'indiquer la suite s'il vous plait (même une petite indication), merci d'avance pour votre aide.
    J'ai cherché (purement au hasard) "accès répertoire Java". Et je tombe sur pas mal d'infos.

    notamment :

    http://java.developpez.com/sources/?page=fluxFichiers

    2 minutes de recherches, c'était pas excessif

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 64
    Points : 28
    Points
    28
    Par défaut
    Merci pour votre réponse

    En fait, mon problème n'est pas la classe java mais un exemple entier (".java" et ".jsp") illustrant comment utiliser une application java dans une jsp et surtout comment lier une application java à un bouton dans la page jsp

    Est ce que vous pouvez me donner un petit exemple s'il vous plait?

    Merci d'avance pour votre aide.

  4. #4
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 100
    Points : 80
    Points
    80
    Par défaut
    (tu as vraiment tout dans la FAQ et autres forums.........
    genre ici : http://www.developpez.net/forums/d95...ode-bouton-ok/
    )

    Bref,
    le principe Sevlets/JSP
    déja, c'est le bon forum!

    l'idée est celle du formulaire.
    des champs, des champs, des champs et un bouton qui appelle une servlet (.java) pour le traitement de ce que tu lui as transmis.

    pour le reste je te laisse consulter le lien
    si tu rencontres des problèmes en développant et non en voulant démarrer, hésites pas à poser tes questions

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 64
    Points : 28
    Points
    28
    Par défaut
    Bonjour

    Merci pour votre réponse, ça m'a beaucoup aidé.

    Voici le code de ma classe java
    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.File;
    import java.io.IOException;
     
    import javax.sound.sampled.*;
     
    public class JLayerPlayer {
     
    	public static void Lire(String chemin) {
    		AudioInputStream din = null;
    		try {
    			File file = new File(chemin);
    			AudioInputStream in = AudioSystem.getAudioInputStream(file);
    			AudioFormat baseFormat = in.getFormat();
    			AudioFormat decodedFormat = new AudioFormat(
    					AudioFormat.Encoding.PCM_SIGNED,
    					baseFormat.getSampleRate(), 16, baseFormat.getChannels(),
    					baseFormat.getChannels() * 2, baseFormat.getSampleRate(),
    					false);
    			din = AudioSystem.getAudioInputStream(decodedFormat, in);
    			DataLine.Info info = new DataLine.Info(SourceDataLine.class, decodedFormat);
    			SourceDataLine line = (SourceDataLine) AudioSystem.getLine(info);
    			if(line != null) {
    				line.open(decodedFormat);
    				byte[] data = new byte[4096];
    				// Start
    				line.start();
     
    				int nBytesRead;
    				while ((nBytesRead = din.read(data, 0, data.length)) != -1) {	
    					line.write(data, 0, nBytesRead);
    				}
    				// Stop
    				line.drain();
    				line.stop();
    				line.close();
    				din.close();
    			}
     
    		}
    		catch(Exception e) {
    			e.printStackTrace();
    		}
    		finally {
    			if(din != null) {
    				try { din.close(); } catch(IOException e) { }
    			}
    		}
    	}
     
    }
    Le code de ma 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
    import java.io.IOException;
    import javax.servlet.ServletException;
    //import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.swing.JOptionPane;
     
    /**
     * Servlet implementation class Serv1
     */
    //@WebServlet("/Serv1")
    public class Serv1 extends HttpServlet {
    	private static final long serialVersionUID = 1L;
     
        /**
         * Default constructor. 
         */
        public Serv1() {
            // TODO Auto-generated constructor stub
        }
     
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		String nomRecu= (String)request.getParameter("chemin");
     
    		JLayerPlayer.Lire(nomRecu);}
     
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
     
    }
    Et le code de ma 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <%@ 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">
    <meta http-equiv="Content-Language" content="en-us">
     
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
     
    <title>Choisir le dossier contenant les enregistrements</title>
     
    </head>
     
    <body>
     
    <p align="left"><b>Choisir l'enregistrement
     
    </b></p>
     
    <form name="chemin" >
     
    <table border="1" width="50%" cellspacing="1" cellpadding="0" id="table1">
     
    <tr>
     
    <td width="50%">&nbsp;Le chemin de l'enregistrement</td>
     
    <td><input type="text" name="Le chemin de l'enregistrement" size="20"></td>
     
    </tr>
     
     
    </table>
     
    <p><input type="submit" value="lire" name="B1"> onclick="??"</p>
     
    </form>
     
    </body>
     
    </html>
    Est ce que vous pouvez me dire comment faire pour qu'en cliquant sur le bouton lire, la classe JLayerPlayer s'exécute et lit le fichier mp3 dont le chemin est écrit dans la zone de texte?

    Est ce qu'il faut utiliser un onclick associé au bouton dans la page jsp? Ou est ce qu'il faut instancier la classe JLayerPlayer dans la méthode doGet de la servlet?

    Merci d'avance.

  6. #6
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 100
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    Lorsque tu veux appeler une Servlet depuis une JSP, il faut... l'appeler

    Et pour l'appeler, il faut que tu précises dans ta <form> où aller.

    Code JSP : 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
    <form name="chemin" action="nomServlet">
     
    <table border="1" width="50%" cellspacing="1" cellpadding="0" id="table1">
     
    <tr>
     
    <td width="50%">&nbsp;Le chemin de l'enregistrement</td>
     
    <td><input type="text" name="Le chemin de l'enregistrement" size="20"></td>
     
    </tr>
     
     
    </table>
     
    <p><input type="submit" value="lire" name="B1"> onclick="??"</p>
     
    </form>

    Ensuite, dans ton application, tu dois avoir un fichier qui s'appelle web.xml
    Dans lequel tu dois lui préciser quelle servlet il doit chercher lorsqu'il accède à l'adresse transmise en action de ta form.

    (si tu mets action ="ecouterMusique", ça revient à l'URL http://adresseApplication.com/ecouterMusique)

    donc ça doit donner ça :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <servlet>
    		<servlet-name>Serv1</servlet-name>
    		<servlet-class>com.application.Serv1</servlet-class>
    	</servlet>
     
    	<servlet-mapping>
    		<servlet-name>Serv1</servlet-name>
    		<url-pattern>/ecouterMusique</url-pattern>
    	</servlet-mapping>

    Pour info, tu dois (c'est mieux de faire comme ça) "ranger" tes servlets dans des packages. (à créer dans la partie "src" de ton projet) Dans mon exemple, j'ai créé un package com.application et j'y ai mis ta servlet dedans.


    Avec ça, lorsque tu cliqueras sur ton bouton submit, ça enverra l'info de :

    Code JSP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" name="Le chemin de l'enregistrement" size="20">

    Pour récupérer cette valeur dans ta servlet, il faut par contre écrire :

    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String nomRecu= (String)request.getParameter("Le chemin de l'enregistrement");

    donc tu devrais plutot choisir "chemin" dans le name de ton input, tu prendrais moin de risques de te tromper. Pour tester si tu reçois bien l'info insères un :

    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String nomRecu= (String)request.getParameter("Le chemin de l'enregistrement");
     
    System.out.println("nom reçu = "+nomRecu);

    ça s'affichera dans la console de ton serveur d'application.


    ensuite, tu fais le traitement, je ne connais pas trop les lecteurs mp3 sous Java donc là je ne peux pas t'aider.

    par contre, ton input ne devrait il pas etre plutot un bouton de type "parcourir" ? ou une liste de mp3 disponibles? pour récupérer sans erreurs le nom du mp3 à lire.... je n'en sais pas plus.


    ça fait beaucoup d'infos d'un coup, j'espère que ça ira.
    tiens moi au courant

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 64
    Points : 28
    Points
    28
    Par défaut
    Bonjour, merci pour votre réponse

    En fait, je ne vois pas encore où faut-il appeler ma classe java JLayerPlayer pour lire le fichier mp3

    La classe java marche parfaitement, elle prend en paramètre le chemin du fichier mp3 donc ce que je veux faire c'est qu'en cliquant sur le bouton "lire" ma classe soit instancié (prend le chemin que j'ai écrit dans la zone de texte).

    Est ce que vous pouvez me dire où faut-il appeler la classe JLayerPlayer?

Discussions similaires

  1. lister le contenu d'un dossier
    Par anthonycosson dans le forum Langage
    Réponses: 2
    Dernier message: 27/12/2007, 12h26
  2. lister le contenu d'un dossier avec ant
    Par slouma_b_h dans le forum ANT
    Réponses: 1
    Dernier message: 15/11/2007, 09h53
  3. Lister le contenu d'un dossier depuis une applet
    Par faocode dans le forum Applets
    Réponses: 1
    Dernier message: 11/05/2007, 10h05
  4. Lister le contenu d'un dossier
    Par WyLLoU dans le forum Access
    Réponses: 1
    Dernier message: 11/07/2006, 15h06
  5. Lister le contenu d'un dossier dans une ListBox
    Par zidenne dans le forum Langage
    Réponses: 2
    Dernier message: 25/10/2005, 12h51

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