web-dev-qa-db-ja.com

HTTPステータス500-サーブレットクラスpkg.coreServletのインスタンス化エラー

簡単なサーブレットを作成してTomcatサーバーにデプロイしていますが、次のエラーが表示されます。

HTTPステータス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を再起動してみましたが、同じエラーが発生します。どこで間違っていますか?

10
Anshul

Src-フォルダーをWEB-INFディレクトリーに置かないでください!!

13
javadev

変更

private static final long serialVersionUID = 1L;

などの他の値に

private static final long serialVersionUID = 102831973239L;

eclipseで自動的に生成することもできます。

アプリ内の各サーブレットには一意のidがあり、Tomcatは同じidを持つ2つのサーブレットで問題を引き起こすためです...

5
Raunak Bhansali

私の場合、private static final long serialVersionUID = 1L;行がないと同じエラーが発生しました。行を追加しましたが、うまくいきました!

4
N D Thokare

Web.xmlの<web-app>タグを閉じましたか?投稿した内容から、終了タグが欠落しているようです。

3
N.M

サーブレットクラスは、WEB-INF/srcではなくWEB-INF/classesにある必要があります。

3
user2264310

これを試してください:)

前:-

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

サーブレットのインスタンス化に問題がありました。私はプロジェクトをきれいにし、それは私のために働いた。 Eclipseメニューで、[プロジェクト]-> [クリーン]に移動します。動作するはずです。

0
neeranzan

以下を確認してください。

  1. 適切な「戦争」ファイル構造、すなわちWEB-INFおよびMETA-INF
  2. 「web.xml」ファイルは正しいセットアップです。
  3. 最後の重要事項:private static final long serialVersionUID = 1L;はクラス内にあるはずです(<servlet-class>MyClass</servlet-class>)。
0
Jawad Khan