web-dev-qa-db-fra.com

Statut HTTP 500 - Erreur lors de l'instanciation de la classe de servlet pkg.coreServlet

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?

9
Anshul

Ne mettez pas le dossier src dans le répertoire WEB-INF !!

13
javadev

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 ...

4
Raunak Bhansali

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.

3
N.M

La classe de servlet doit appartenir à WEB-INF/classes et non à WEB-INF/src.

3
user2264310

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é!

3
N D Thokare

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>
0
MAnoj Sarnaik

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.

0
neeranzan