HTTP Status 500-ошибка создания экземпляра класса сервлета pkg.coreServlet

Я создаю простой сервлет и развертываю его на сервере tomcat, но получаю следующую ошибку:

HTTP Status 500-ошибка создания экземпляра класса сервлета pkg.coreServlet

структура файлов на сервере 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 ");
    }
}

url, который я даю, это http://localhost:8080/aarya/coreServlet Я пытаюсь перезапустить tomcat, но я получаю ту же ошибку. Где я делаю неправильно?

7 ответов


не помещайте папку src в каталог WEB-INF!!


изменить

private static final long serialVersionUID = 1L;

для любого другого значения, например

private static final long serialVersionUID = 102831973239L;

также вы можете автоматически генерировать его в eclipse.

Это потому, что каждый сервлет в приложение имеет уникальный идентификатор.и tomcat вызывает проблему с двумя сервлетами, имеющими одинаковый идентификатор...


вы закрыли тег в своем интернете.в XML? Из того, что вы опубликовали, закрывающий тег, похоже, отсутствует.


класс сервлета должен быть в WEB-INF/classes, а не WEB-INF/src.


в моем случае отсутствует private static final long serialVersionUID = 1L; строка вызвала ту же ошибку. Я добавил строку и все заработало!


У меня была проблема с экземпляром сервлета. Я очистил проект и он работал для меня. В меню eclipse выберите проект - >очистить. Это должно сработать.


Попробуйте Это:)

перед:-

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

после:-

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