Affichage dynamique et périodique d'images dans une jsp à partir d'une servlet [Résolu]

coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 15 mai 2010 à 00:19 - Dernière réponse : coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention
- 18 mai 2010 à 16:06
bonsoir, je débute avec tomcat et les servlets..et voila la galère commence!!!
dans un autre post ils m'ont affirmé la faisabilté de ce que je compte faire mais en pratique, du coup je me bloque

un logiciel qui fait des captures ecran automatiquement chaque n secondes, sauvegarde ces captures dans un repertoire au choix en les attribuant comme nom date heure ou numero

ce que je veux réaliser est d'afficher ces captures dans mon navigateur au fur et a mesure de leurs création (une fois une caputre est faite -> elle s'affiche)

le problème réside:
comment détecter q'une nouvelle capture est ajouté dans le repertoire?
et dans la page jsp comment faire un appel périodique a ma servlet

j'ai trouvé plusieurs tutoriaux, mais tous ciblent des images bien définies qui n'est pas le cas pour moi

voila mon essai:

servlet:
package com.pfe.slide;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URLDecoder;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * The Image servlet for serving from absolute path.
 * @author BalusC
 * @link http://balusc.blogspot.com/2007/04/imageservlet.html
 */
public class SlideServlet extends HttpServlet {

    // Constants ----------------------------------------------------------------------------------

    private static final int DEFAULT_BUFFER_SIZE = 10240; // 10KB.

    // Properties ---------------------------------------------------------------------------------

    private String imagePath;

    // Actions ------------------------------------------------------------------------------------

    public void init() throws ServletException {

        // Define base path somehow. You can define it as init-param of the servlet.
        this.imagePath = "\images";

        // In a Windows environment with the Applicationserver running on the
        // c: volume, the above path is exactly the same as "c:\images".
        // In UNIX, it is just straightforward "/images".
        // If you have stored files in the WebContent of a WAR, for example in the
        // "/WEB-INF/images" folder, then you can retrieve the absolute path by:
        // this.imagePath = getServletContext().getRealPath("/WEB-INF/images");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
    {
        // Get requested image by path info.
        String requestedImage = request.getPathInfo();
// je pense que cette ligne est inutile puisque je n'ai pas une image précise à récupérer

        // Check if file name is actually supplied to the request URI.
        if (requestedImage == null) {
            // Do your thing if the image is not supplied to the request URI.
            // Throw an exception, or send 404, or show default/warning image, or just ignore it.
            response.sendError(HttpServletResponse.SC_NOT_FOUND); // 404.
            return;
        }

        // Decode the file name (might contain spaces and on) and prepare file object.
        File image = new File(imagePath, URLDecoder.decode(requestedImage, "UTF-8"));

        // Check if file actually exists in filesystem.
        if (!image.exists()) {
            // Do your thing if the file appears to be non-existing.
            // Throw an exception, or send 404, or show default/warning image, or just ignore it.
            //response.sendError(HttpServletResponse.SC_NOT_FOUND); // 404
        	image = new File(imagePath, "default.gif");

            return;
        }

        // Get content type by filename.
        String contentType = getServletContext().getMimeType(image.getName());

        // Check if file is actually an image (avoid download of other files by hackers!).
        // For all content types, see: http://www.w3schools.com/media/media_mimeref.asp
        if (contentType == null || !contentType.startsWith("image")) {
            // Do your thing if the file appears not being a real image.
            // Throw an exception, or send 404, or show default/warning image, or just ignore it.
            response.sendError(HttpServletResponse.SC_NOT_FOUND); // 404.
            return;
        }

        // Init servlet response.
        response.reset();
        response.setBufferSize(DEFAULT_BUFFER_SIZE);
        response.setContentType(contentType);
        response.setHeader("Content-Length", String.valueOf(image.length()));
        response.setHeader("Content-Disposition", "inline; filename="" + image.getName() + """);

        // Prepare streams.
        BufferedInputStream input = null;
        BufferedOutputStream output = null;

        try {
            // Open streams.
            input = new BufferedInputStream(new FileInputStream(image), DEFAULT_BUFFER_SIZE);
            output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);

            // Write file contents to response.
            byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
            int length;
            while ((length = input.read(buffer)) > 0) {
                output.write(buffer, 0, length);
            }
        } finally {
            // Gently close streams.
            close(output);
            close(input);
        }
    }

    // Helpers (can be refactored to public utility class) ----------------------------------------

    private static void close(Closeable resource) {
        if (resource != null) {
            try {
                resource.close();
            } catch (IOException e) {
                // Do your thing with the exception. Print it, log it or mail it.
                e.printStackTrace();
            }
        }
    }


}




jsp:
<%@ 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>Insert title here</title>
</head>

Test



</html>




web.xml:
<!DOCTYPE web-app PUBLIC
  '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN'
  'http://java.sun.com/dtd/web-app_2_3.dtd'>
<web-app>
  <servlet>
    <servlet-name>SlideServlet</servlet-name>
    <servlet-class>com.pfe.slide.SlideServlet</servlet-class>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>SlideServlet</servlet-name>
    /SlideServlet
  </servlet-mapping>
</web-app>




pouvez vous m'aider??

merci d'avance
Afficher la suite 

Votre réponse

29 réponses

Meilleure réponse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 15 mai 2010 à 07:35
3
Merci
Salut,

Il te faut passer par AJAX : une requête période en AJAX toutes les x secondes pour interroger ta servlet, qui te renvoie alors la liste des nouveaux fichiers images.

Je te laisse chercher sur le net comment faire de l'AJAX : c'est pas bien compliqué.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Meilleure réponse
coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 17 mai 2010 à 10:39
3
Merci
Bonjour

j'ai introduit plusieurs réctification à mon code, j'ai éliminé le thread, je vois que c'est inutile puisque j'exécute doGet à chaque appel de la servlet
et je suis persuadée que je récupére la nouvelle image (j'ai fait le test dans une classe java à part)
mais je comprends rien, pas d'erreur mais toujours un carreau avec une croix
j'ai seulement ce message chaque refresh:
org.apache.catalina.core.StandardWrapperValve invoke
INFO: La servlet SlideServlet est actuellement indisponible


voila le code:
package com.pfe.slide;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URLDecoder;

//import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SlideServlet  {
  
// Constants ----------------------------------------------------------------------------------

    private static final int DEFAULT_BUFFER_SIZE = 10240; // 10KB.
    

    // Properties ---------------------------------------------------------------------------------
public  static File lastSlide=null ;
    // Actions ------------------------------------------------------------------------------------

 
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
    {
    	
        File[] list = new File("C:\\images").listFiles();
        
        File inter;
        
        for( int i=(list.length-1); i>0; i--)
        {
          for( int j=0; j list[j+1].lastModified())
            {
              inter= list[j];
              list[j]= list[j+1];
              list[j+1]= inter;
            }
          }
        }     
   	lastSlide= list[list.length-1]; 

    	 
    	 
    	// Check if file actually exists in filesystem.
   	
         if (!lastSlide.exists()) {
             response.sendError(HttpServletResponse.SC_NOT_FOUND); // 404. !!!!!!!!
        	
              
             return;
         }
//--------------------------------------------------------------------------------
         
         // Init servlet response.
        response.reset();
        response.setBufferSize(DEFAULT_BUFFER_SIZE);
        response.setContentType("image/png");
        response.setHeader("Content-Length", String.valueOf(lastSlide.length()));
        response.setHeader("Content-Disposition", "inline; filename="" + lastSlide.getName() + """);

        // Prepare streams.
        BufferedInputStream input = null;
        BufferedOutputStream output = null;

        try {
        	
        	
            // Open streams.
            input = new BufferedInputStream(new FileInputStream(lastSlide), DEFAULT_BUFFER_SIZE);
            output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);

            // Write file contents to response.
            byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
            int length;
            while ((length = input.read(buffer)) > -1) {
                output.write(buffer, 0, length);
            }
            output.flush();
        } finally {
            // Gently close streams.
            close(output);
            close(input);
        }
    }

    // Helpers (can be refactored to public utility class) ----------------------------------------

    private static void close(Closeable resource) {
        if (resource != null) {
            try {
                resource.close();
            } catch (IOException e) {
                // Do your thing with the exception. Print it, log it or mail it.
                e.printStackTrace();
            }
        }
    }


}



et l'appel de la servlet dans la page jsp:




et dans le navigateur :
http://localhost:8080/Slide/image.jsp

Merci coccolata 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de coccolata
coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 15 mai 2010 à 11:10
0
Merci
merci pour la réponse
ok coté client je ferai une requete en AJAX qui interroge ma servlet périodiqument mais coté serveur comment savoir la nouvelle image ajoutée? je ne trouve aucun issu pour ça
Commenter la réponse de coccolata
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 15 mai 2010 à 11:13
0
Merci
Salut,

En stockant quelque part (base de données par exemple) les images présentes à l'instant t, et en comparant les images présentes à l'instant t + 1 avec ton référentiel à l'instant t.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 15 mai 2010 à 11:26
0
Merci
est ce que je peux faire un thread qui teste périodiqument un répertoie donné et sauvegarde la liste des fichiers présent?
Commenter la réponse de coccolata
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 15 mai 2010 à 11:28
0
Merci
Salut,

Oui bien sûr, par contre, j'ai jamais fais de thread niveau serveur, je ne sais pas comment ca se passe. Sûrement un paramétrage du serveur d'application.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 15 mai 2010 à 11:34
0
Merci
merci pour ton aide je continue la galère en cherchant sur les threads et AJAX !!
Commenter la réponse de coccolata
coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 15 mai 2010 à 23:54
0
Merci
re
voila mon nouveau essai de servlet contenant un thread qui veillera à controler mon repertoire d'image
voici le code mais malheureusement n'est pas encore fonctionnel svp pouvez vous m'aider à le corriger?

package com.pfe.slide;
 
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
 
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
 
public class SlideServlet extends HttpServlet  implements  Runnable {
 
   
 // Constants ----------------------------------------------------------------------------------
 
    private static final int DEFAULT_BUFFER_SIZE = 10240; // 10KB.
    
 
    // Properties ---------------------------------------------------------------------------------
 
    //private String imagePath;
    private Thread t;
 public static int count=0;
 public  static File lastSlide ;
    // Actions ------------------------------------------------------------------------------------
 
    public void init(ServletConfig config) throws ServletException {
 
        
        super.init(config);
        t = new Thread(this);
        t.setPriority(Thread.MIN_PRIORITY);
        t.start();
        System.out.println("deamon started");
        
     // Define base path somehow. You can define it as init-param of the servlet.
       // this.imagePath = "/images";
 
        
    }
//------------------------------------------------------------------------------------------
  
    public void run() {
       try {
          while (true) {
             System.out.println("deamon working...");
             File[] list = new File("/images").listFiles();
             if (anyUpdate(list)){
              lastSlide= list[list.length-1];
             }
             Thread.sleep(2000);
          }
       } catch (InterruptedException e) {
          System.out.println("deamon stopped");}
    }
    //--------------------------------------------------------------------------
    private static boolean anyUpdate(File[] list){
    
        if (list.length>=count) 
        {count++; }
 
     return true ;
    }
    //----------------------------------------------------------------------------------
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
    {
 
        // Init servlet response.
        response.reset();
        response.setBufferSize(DEFAULT_BUFFER_SIZE);
        response.setContentType("image/png");
        response.setHeader("Content-Length", String.valueOf(lastSlide.length()));
        response.setHeader("Content-Disposition", "inline; filename="" + lastSlide.getName() + """);
 
        // Prepare streams.
        BufferedInputStream input = null;
        BufferedOutputStream output = null;
 
        try {
            // Open streams.
            input = new BufferedInputStream(new FileInputStream(lastSlide), DEFAULT_BUFFER_SIZE);
            output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);
 
            // Write file contents to response.
            byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
            int length;
            while ((length = input.read(buffer)) > 0) {
                output.write(buffer, 0, length);
            }
        } finally {
            // Gently close streams.
            close(output);
            close(input);
        }
    }
 
    // Helpers (can be refactored to public utility class) ----------------------------------------
 
    private static void close(Closeable resource) {
        if (resource != null) {
            try {
                resource.close();
            } catch (IOException e) {
                // Do your thing with the exception. Print it, log it or mail it.
                e.printStackTrace();
            }
        }
    }
 
  
  }



merci
Commenter la réponse de coccolata
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 16 mai 2010 à 08:47
0
Merci
Salut,

n'est pas encore fonctionnel


Soit plus précis : qu'est-ce qui n'est pas fonctionnel ? Qu'est-ce qui ne marche pas ? Quel résultat attends-tu ?

Est-ce que tu as des exceptions de levées ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 16 mai 2010 à 11:41
0
Merci
voila un autre essai qui m'affiche un carreau (le contour de l'image)

 package com.pfe.slide;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class SlideServlet extends HttpServlet  implements  Runnable {

   
 // Constants ----------------------------------------------------------------------------------

    private static final int DEFAULT_BUFFER_SIZE = 10240; // 10KB.
    

    // Properties ---------------------------------------------------------------------------------

    //private String imagePath;
    private Thread t;
 public static int count=0;
 public  static File lastSlide ;
    // Actions ------------------------------------------------------------------------------------

    public void init(ServletConfig config) throws ServletException {

        
        super.init(config);
        t = new Thread(this);
        t.setPriority(Thread.MIN_PRIORITY);
        t.start();
        System.out.println("deamon started");
        
     // Define base path somehow. You can define it as init-param of the servlet.
       // this.imagePath = "/images";

        
    }
//------------------------------------------------------------------------------------------
  
    public void run() {
       try {
          while (true) {
             System.out.println("deamon working...");
             File[] list = new File("C:\\images").listFiles();
             if (anyUpdate(list)){
              lastSlide= list[list.length-1];
             }
             Thread.sleep(10000);
          }
       } catch (InterruptedException e) {
          System.out.println("deamon stopped");}
    }
    //--------------------------------------------------------------------------
    
    private static boolean anyUpdate(File[] list){
        boolean update = (list.length > count);      
        count = list.length;
        return update;
     }

    //----------------------------------------------------------------------------------
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
    {

        // Init servlet response.
        response.reset();
        response.setBufferSize(DEFAULT_BUFFER_SIZE);
        response.setContentType("image/png");
        response.setHeader("Content-Length", String.valueOf(lastSlide.length()));
        response.setHeader("Content-Disposition", "inline; filename="" + lastSlide.getName() + """);

        // Prepare streams.
        BufferedInputStream input = null;
        BufferedOutputStream output = null;

        try {
            // Open streams.
            input = new BufferedInputStream(new FileInputStream(lastSlide), DEFAULT_BUFFER_SIZE);
            output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);

            // Write file contents to response.
            byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
            int length;
            while ((length = input.read(buffer)) > -1) {
                output.write(buffer, 0, length);
            }
            output.flush();
        } finally {
            // Gently close streams.
            close(output);
            close(input);
        }
    }

    // Helpers (can be refactored to public utility class) ----------------------------------------

    private static void close(Closeable resource) {
        if (resource != null) {
            try {
                resource.close();
            } catch (IOException e) {
                // Do your thing with the exception. Print it, log it or mail it.
                e.printStackTrace();
            }
        }
    }

  
  }


et voila l'exception levée:
java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.jasper.JspC.<clinit>(JspC.java:97)
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
Exception in thread "main"



merci
Commenter la réponse de coccolata
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 16 mai 2010 à 11:46
0
Merci
Salut,

Comme l'exception l'indique, il te manque la classe LogFactory dans le classpath de ton application.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 16 mai 2010 à 12:23
0
Merci
le problème persiste
j'ai suivi ce tutorial afin de corriger l'erreur
LogFactory
Commenter la réponse de coccolata
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 16 mai 2010 à 12:28
0
Merci
Salut,

Tu as rajouté le jar de la bibliothèque commons-logging dans le classpath de ton application ? Est-ce que tu as vérifié si le jar est bien déployé avec ton application lors du déploiement sur le serveur d'application ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 16 mai 2010 à 12:47
0
Merci
j'ai trouvé aussi ce
tutorial le résultat est dans la capture écran




désolé j'ai pas bien compris ce que vous venez de me dire,dans les bins de tomcat j'ai pas trouvé la bibliothèque commons-logging
Commenter la réponse de coccolata
coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 16 mai 2010 à 12:49
0
Merci
je m'excuse mais comment joindre une image?? ça fonctionne pas
Commenter la réponse de coccolata
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 16 mai 2010 à 12:57
0
Merci
Salut,

Pour uploader une image, il faut l'héberger sur un serveur, et mettre un lien vers cette image, ou sinon, si tu as un compte club sur codes-sources, tu as un espace de stockage pour les images que tu veux poster sur le forum.

Tu es sous quel IDE ? Il faut absolument que toutes les bibliothèques que tu utilises, ainsi que les dépendances de ces bibliothèques soit dans le classpath de ton application et qu'elles soient déployées sur le serveur d'application, sinon, forcément, tu auras des NoClassDefFound
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 16 mai 2010 à 13:08
0
Merci
merci énormément DARKSIDIOUS pour ton aide
mon IDE est eclipse Galileo.
pour ajouter ces jar j'ai fait:
window -> preferences -> Tomcat -> paramétrage de la JVM
pour l'ajout des jar je trouve:
1- Classpath (avant celui généré)
2- Boot Classpath (rt.jar nécessaire)

bref j'ai ajouté tomcat-juli.jar (sous tomcat/bin) dans 1 et 2
mais en vain

pour la bibliothèque commons-logging esy inexistante dans le dossier bin dois-je la télécharger manuellement??

merci une autre fois
Commenter la réponse de coccolata
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 16 mai 2010 à 13:33
0
Merci
Salut,

Il faut que le jar soit ajouté dans le classpath de ton APPLICATION et non pour tomcat : clic droit sur ton projet, menu Build Path/Configure Build path, et tu l'ajoute dans la liste des "libraries"


et coche là dans la liste "Order and export"


______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
coccolata 86 Messages postés samedi 31 janvier 2009Date d'inscription 26 mai 2010 Dernière intervention - 16 mai 2010 à 13:48
0
Merci
merci,ça fonctionne mais alors là un autre soucis
peut etre c'est à cause du thread?

deamon started
deamon working...
16 mai 2010 12:39:06 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet SlideServlet a généré une exception
java.lang.NullPointerException
at com.pfe.slide.SlideServlet.doGet(SlideServlet.java:79)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
deamon working...
deamon working...
deamon working...
deamon working...
deamon working...
deamon working...
deamon working...
deamon working...
deamon working...
deamon working...
deamon working...
deamon working...
Commenter la réponse de coccolata
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 16 mai 2010 à 14:34
0
Merci
Salut,

Il y a une variable non initialisée à la ligne 79 de ta classe SlideServlet.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.