wake-up-neo.com

HTTP-Status 500 - Fehler beim Instanziieren der Servlet-Klasse pkg.coreServlet

Ich erstelle ein einfaches Servlet und stelle es auf einem Tomcat-Server bereit. Ich erhalte jedoch die folgende Fehlermeldung:

HTTP-Status 500 - Fehler beim Instanziieren der Servlet-Klasse pkg.coreServlet

Dateistruktur auf dem Tomcat-Server:

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 ");
    }
}

die URL, die ich gebe, ist http://localhost:8080/aarya/coreServlet Ich versuche, Tomcat neu zu starten, erhalte aber dieselbe Fehlermeldung. Wo mache ich falsch?

9
Anshul

Legen Sie den src-Ordner nicht im WEB-INF-Verzeichnis ab !!

13
javadev

Ändere das

private static final long serialVersionUID = 1L;

zu jedem anderen Wert wie 

private static final long serialVersionUID = 102831973239L;

sie können es auch automatisch in Eclipse generieren.

Dies liegt daran, dass jedes Servlet in einer App eine eindeutige ID hat. Tomcat verursacht Probleme mit zwei Servlets, die dieselbe Id ...

4
Raunak Bhansali

Haben Sie das <web-app> -Tag in Ihrer web.xml geschlossen? Nach dem, was Sie gepostet haben, scheint das schließende Tag zu fehlen.

3
N.M

Die Servlet-Klasse sollte in den WEB-INF-Klassen und nicht in WEB-INF/src stehen.

3
user2264310

In meinem Fall hat die private static final long serialVersionUID = 1L;-Zeile den gleichen Fehler verursacht. Ich habe die Zeile hinzugefügt und es hat funktioniert!

3
N D Thokare

Versuche dies:)

Vor:-

<servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>TestServlet</servlet-class>  
</servlet>

Nach dem:-

 <servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>operation.TestServlet</servlet-class>
 </servlet>
0
MAnoj Sarnaik

Ich hatte ein Problem mit der Servlet-Instantiierung. Ich habe das Projekt gesäubert und es hat für mich funktioniert. Gehen Sie im Eclipse-Menü zu Projekt-> Reinigen. Es sollte funktionieren.

0
neeranzan

Stellen Sie Folgendes sicher:

  1. Richtige "Krieg" -Dateistruktur, d. H. WEB-INF & META-INF
  2. Die Datei "web.xml" ist korrekt eingerichtet.
  3. Letztes und Wichtiges: private static final long serialVersionUID = 1L; sollte in deiner Klasse sein (<servlet-class>MyClass</servlet-class>).
0
Jawad Khan