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 :que j'ai copié dans le site suivant: http://www.javapractices.com/topic/TopicAction.do?Id=54
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(); } }
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.
Partager