みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

servletでHTTPステータス404エラーが解決できません

環境:Eclipce3.2、Tomcat5.5、jdk1.6.0_06を使用。

○サーブレットプログラム
package pack;
import java.io.*;
import javax.servlet.*;

public class ShowDateServlet extends javax.servlet.http.HttpServlet
implements javax.servlet.Servlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("");
out.println("");
out.println(new java.util.Date());
out.println("");
out.println("");
}
}

○web.xmlの内容は以下の通り
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">
<display-name>J2EEPJ</display-name>

<servlet>
<description></description>
<display-name>ShowDate</display-name>
<servlet-name>ShowDate</servlet-name>
<servlet-class>pack.ShowDateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ShowDate</servlet-name>
<url-pattern>/ShowDate</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

アクセスは http://localhost:8080/hello/ShowDate

アクセスすると、

type ステータスレポート
メッセージ /hello/ShowDateServlet
説明 The requested resource (/hello/ShowDateServlet) is not available.


が表示されてしまいます。
何度も最初から作り直しては、見直しをしましたが
エラーになる原因をつかむことができない状態です。
間違い、不足している箇所がありましたら、ご指摘の程お願い致します。

投稿日時 - 2008-05-21 00:04:51

QNo.4037947

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

質問全部読んでませんが・・・

Web.xmlを見ると、<url-pattern>は/ShowDateなので、
アクセスする時はShowDateServletではなくShowDateではないでしょうか。

また、先の方の回答のように、/hello/ShowDateではなく、
/ShowDateになると思います。

つまりアクセスする位置が間違っている可能性あり!

投稿日時 - 2008-05-21 14:51:38

補足

アドバイスありがとうございます。

アクセス先を
http://localhost:8080/ShowDate
にしてみましたが、やはり以下のようなエラーがでてしまいました。

type ステータスレポート
メッセージ /ShowDate
説明 The requested resource (/ShowDate) is not available.


それと質問の欄で記入ミスをしてしまっていたのですが、
エラーメッセージは

type ステータスレポート
メッセージ /hello/ShowDateServlet
説明 The requested resource (/hello/ShowDateServlet) is not available.

ではなく、

type ステータスレポート
メッセージ /hello/ShowDate
説明 The requested resource (/hello/ShowDate) is not available.

でした。

失礼しました。

投稿日時 - 2008-05-22 20:57:58

ANo.1

helloが謎。
Tomcatのどこに、pack/ShowDate.classが置かれているのか?

投稿日時 - 2008-05-21 08:57:20

補足

失礼しました、説明不足でした。

helloはEclipseで「動的Webプロジェクト」を新規作成する際に
コンテキスト・ルートに設定した値です。

pack/ShowDate.classは
J2EEPJ/build/classes/の配下にあります。

J2EEPJはこのプログラムを作ったプロジェクト名で
残りのディレクトリはEclipceのほうで自動に生成し、
配置されたものなのですが
classファイルの置き場所が間違っているのでしょうか?

投稿日時 - 2008-05-22 21:05:34

あなたにオススメの質問