Affichage dynamique et périodique d'images dans une jsp à partir d'une servlet

Résolu
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010 - 15 mai 2010 à 00:19
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010 - 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

29 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
15 mai 2010 à 07:35
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
3
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
17 mai 2010 à 10:39
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
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
15 mai 2010 à 11:28
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
1
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
15 mai 2010 à 11:10
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
15 mai 2010 à 11:13
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
0
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
15 mai 2010 à 11:26
est ce que je peux faire un thread qui teste périodiqument un répertoie donné et sauvegarde la liste des fichiers présent?
0
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
15 mai 2010 à 11:34
merci pour ton aide je continue la galère en cherchant sur les threads et AJAX !!
0
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
15 mai 2010 à 23:54
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
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
16 mai 2010 à 08:47
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
0
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
16 mai 2010 à 11:41
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
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
16 mai 2010 à 11:46
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
0
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
16 mai 2010 à 12:23
le problème persiste
j'ai suivi ce tutorial afin de corriger l'erreur
LogFactory
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
16 mai 2010 à 12:28
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
0
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
16 mai 2010 à 12:47
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
0
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
16 mai 2010 à 12:49
je m'excuse mais comment joindre une image?? ça fonctionne pas
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
16 mai 2010 à 12:57
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
0
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
16 mai 2010 à 13:08
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
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
16 mai 2010 à 13:33
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
0
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
16 mai 2010 à 13:48
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...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
16 mai 2010 à 14:34
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
0