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 :

Instanciation d'une classe Java dans une page 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 Instanciation d'une classe Java dans une page JSP
    Bonjour,

    Je suis en train de faire une petite application Java (servlets / JSP), voici mes fichiers:

    • login.jsp (un formulaire avec une zone de texte et une bouton) qui me permet d'introduire le chemin du fichier mp3 que je veux lire.
    • DoIt.java une simple servlet qui m'oriente vers login.jsp.
    • formulaireAff.jsp la page qui s'affiche après le remplissage de login.jsp et où j'instancie ma classe de lecture de fichier mp3, voici son code:

    Code xml : 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
    <%@page import="com.servlet.test.JLayerPlayer"%>
    <%@ 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>Login Form Data</title>
      </head>
     
      <body>
         <b>Submitted Value is </b>
         <%= request.getParameter("chdelenreg") %>
         <%
         String chemin = request.getParameter("chdelenreg");
         JLayerPlayer Lect = new JLayerPlayer();
         Lect.Lire(chemin);
         %>
      </body>
    </html>
    LectureEnreg.java elle m'oriente vers formulaireAff.jsp.

    En fait, dans ma page jsp, j'instancie une classe java qui prend en paramètre le chemin d'un fichier mp3 et le lit(cette classe marche parfaitement) sauf qu'après l'exécution j'ai juste l'affichage du chemin
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <b>Submitted Value is </b>
    <%= request.getParameter("chdelenreg") %>

    Quelqu'un saurait-il m'indiquer d'où vient le problème ?

    Merci d'avance pour votre aide.

  2. #2
    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
    J'ai essayé aussi d'instancier la classe JLayerPlayer dans la servlet "LectureEnreg.java" mais en vain.

    Voici le code de LectureEnreg.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
    package com.servlet.test;
    import java.io.IOException;
     
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import com.servlet.test.JLayerPlayer;
     
    public class LectureEnreg extends HttpServlet {
     
        public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException{
     
            response.setContentType("text/html");
     
            String nomRecu= (String)request.getParameter("chdelenreg");
            JLayerPlayer Lect = new JLayerPlayer();
            Lect.Lire(nomRecu);
     
            RequestDispatcher dispatcher = request.getRequestDispatcher("formulaireAff.jsp");
            dispatcher.forward(request, response);
        }    
    }

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Points : 78
    Points
    78
    Par défaut
    Bonjour,

    Très intéressant ce que vous êtes en train de faire mais il faut noter que ta zik va se bombarder sur le serveur et pas sur le poste client . J'espère que t'es en train de tester sur ton poste et aussi la zik que tu voulais écouter existe aussi sur le serveur t'as bien vérifié les chemins ?

  4. #4
    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, tout d'abord, je vous remercie pour votre réponse

    J'ai pas bien compris vos remarques, en fait, le fichier mp3 que je veux lire est bien sur mon poste et quand j'exécute j'écris son chemin à partir du C:\

    Exemple: C:\fic.mp3

    C'est pas ça ce qu'il faut faire?

  5. #5
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Points : 78
    Points
    78
    Par défaut
    D'accord,

    je te pose une question! ta classe là si je lui donne le chemin en paramètre d'un fichier MP3, elle va le lire sur le poste où elle(la classe MP3) s'exécute c'est ça?

  6. #6
    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
    Oui, exactement, c'est la même chose ici non?

  7. #7
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Points : 78
    Points
    78
    Par défaut
    Bonjour,

    Fait attention au chemin que saisie sur l'interface web par ce que java n'accepte pas les \ c'est plus C:/fichier.mp3 si non je sais pas comment tu lance ton MP3 si tu utilise une commande dos sous Java le chemin doit être comme celui de Windows (par ce que la commende est transmis au shell de Windows qui connait que des \ ).

    En résumé essaie de vérifier les chemin si non mets ton fichier mp3 dans le dossier de l'application et tu peux y accéder tranquillement

    J'espère que c'est clair cette fois-ci.

  8. #8
    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
    J'ai essayé avec
    • C:/test.mp3
    • C:\test.mp3
    • test.mp3 et j'ai mis le fichier dans le dossier de l'application


    Est-ce que vous avez d'autres suggestions ?

  9. #9
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Points : 78
    Points
    78
    Par défaut
    Ca m'étonne ! Donc ta classe ne fonctionne pas ! Donne nous le code source de la classe.

  10. #10
    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
    Voici le code de ma classe:

    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
    package com.servlet.test;
    import java.io.File;
    import java.io.IOException;
     
    import javax.sound.sampled.*;
     
    public class JLayerPlayer {
     
     
     
    	public JLayerPlayer() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
     
    	public 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) { }
    			}
    		}
    	}
     
    }
    Si vous voulez tester le code, vous aurez besoin de MP3SPI 1.9.2 (jl1.0.jar, mp3spi1.9.2.jar, tritonus_share.jar) téléchargeable à partir de ce lien http://www.javazoom.net/mp3spi/sources.html

    Merci d'avance pour votre aide.

  11. #11
    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
    Finalement ça fonctionne.

    Le code était juste mais j'ai oublié de mettre des .jar dans le dossier lib (dans le dossier de l'application sous webapps de Tomcat).

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/03/2010, 15h40
  2. Réponses: 15
    Dernier message: 28/04/2009, 07h26
  3. utiliser une classe java dans une page jsp
    Par switch1 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 16/04/2009, 16h49
  4. importer une classe java dans une page jsp
    Par chafik_si3 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/03/2009, 15h51
  5. comment appeler une classe java dans une page jsp?
    Par limalima dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 21/11/2008, 22h59

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