Je crée un servlet simple et le déploie sur le serveur Tomcat, mais le message d'erreur suivant s'affiche:
Statut HTTP 500 - Erreur lors de l'instanciation de la classe de servlet pkg.coreServlet
Structure de fichier sur le serveur Tomcat:
webapps
|
- aarya
|
- WEB-INF
|
-web.xml
-src(folder)
|
-pkg
|
-coreServlet.class
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://Java.Sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Java.Sun.com/xml/ns/j2ee
http://Java.Sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>aaryaservlet</servlet-name>
<servlet-class>pkg.coreServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>aaryaservlet</servlet-name>
<url-pattern>/coreServlet</url-pattern>
</servlet-mapping>
</web-app>
coreServlet.Java:
package pkg;
import Java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class coreServlet extends HttpServlet
{
/**
*
*/
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
PrintWriter out = res.getWriter();
res.setContentType("text/html");
out.println("this is First servlet Example ");
}
}
l'URL que je donne est http://localhost:8080/aarya/coreServlet
J'essaye de redémarrer Tomcat mais j'obtiens la même erreur Où je me trompe?
Ne mettez pas le dossier src dans le répertoire WEB-INF !!
Changer la
private static final long serialVersionUID = 1L;
à toute autre valeur comme
private static final long serialVersionUID = 102831973239L;
vous pouvez aussi le générer automatiquement dans Eclipse.
C'est parce que chaque servlet d'une application a un identifiant unique. Et Tomcat pose problème avec deux servlets ayant le même id ...
Avez-vous fermé la balise <web-app> dans votre web.xml? D'après ce que vous avez posté, la balise de fermeture semble manquer.
La classe de servlet doit appartenir à WEB-INF/classes et non à WEB-INF/src.
Dans mon cas, la ligne private static final long serialVersionUID = 1L;
manquante a provoqué la même erreur. J'ai ajouté la ligne et cela a fonctionné!
Essaye ça:)
avant:-
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>TestServlet</servlet-class>
</servlet>
Après:-
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>operation.TestServlet</servlet-class>
</servlet>
J'ai eu un problème avec l'instanciation Servlet. J'ai nettoyé le projet et cela a fonctionné pour moi. Dans le menu Eclipse, sélectionnez Projet-> Nettoyer. Ça devrait marcher.