Bonjour à tous,

Lorsque je démarre mon serveur Tomcat v7, j'ai ce message d'erreur d'erreur:
SEVERE: Servlet /nomproject threw load() exception
java.lang.ClassCastException: servletPackage.FetchMail cannot be cast to javax.servlet.Servlet
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


Dans mon web.xml, j'ai mis ceci :
<servlet>
<servlet-name>FetchMail</servlet-name>
<servlet-class>servletPackage.FetchMail</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>


Et voici le contenu de cette 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
39
40
41
42
43
package servletPackage;
 
import java.util.Timer;
import java.util.TimerTask;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Date;
 
public class FetchMail extends TimerTask {
 
	 /** Construct and use a TimerTask and Timer. */
	  public static void main (String... arguments ) {
		  TimerTask fetchMail = new FetchMail();
		  //Execute cette tâche une fois par jour à 6h30,
		  Timer timer = new Timer();
		  timer.scheduleAtFixedRate(fetchMail, getTomorrowMorning4am(), fONCE_PER_DAY);
	  }
 
	  /*** Implements TimerTask's abstract run method. */
	  @Override public void run(){
		    //toy implementation
		    System.out.println("Ceci est un test des automatisation des tâches...");
	  }
 
	  // PRIVATE
	  //expressed in milliseconds
	  private final static long fONCE_PER_DAY = 1000*60*60*24;
	  private final static int fONE_DAY = 1;
	  private final static int fFOUR_PM = 2;
	  private final static int fZERO_MINUTES = 0;
	  private static Date getTomorrowMorning4am(){
		  Calendar tomorrow = new GregorianCalendar();
		  tomorrow.add(Calendar.DATE, fONE_DAY);
		  Calendar result = new GregorianCalendar(
				  tomorrow.get(Calendar.YEAR),
				  tomorrow.get(Calendar.MONTH),
				  tomorrow.get(Calendar.DATE),
				  fFOUR_PM,
				  fZERO_MINUTES
		  );
		  return result.getTime();
	  }
}
que j'ai copié dans le site suivant: http://www.javapractices.com/topic/TopicAction.do?Id=54

Mon but est créé une tâche d'envoi des mails automatiquement avec java web. A ce stade le code pour l'envoi d'email n'est pas encore saisi. Merci de votre aide une fois de plus.