- - PR -
Web.xmlの設定について(初心者)
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-04-22 16:03
アプリケーションサーバにサンプルの Webアプリケーションがついてますよね?
それはまず動くと思いますので、そちらとの違いをくらべてみるのはいかがでしょう。 |
|
投稿日時: 2005-04-22 16:04
classファイルの位置が悪いのではないでしょうか?
Tomcatですと、 %TOMCAT_HOME% --webapps ----people ------WEB-INF --------classes の配下にパッケージ構造でクラスファイルを 配置する必要があるかと思います。 ※一度、ディレクトリ構造を教えていただけると助かります。 [ メッセージ編集済み 編集者: 未記入 編集日時 2005-04-22 16:09 ] |
|
投稿日時: 2005-04-22 16:19
>classファイルの位置が悪いのではないでしょうか?
その位置については問題ないです。 ディレクトリ構造は c: --jspAndServlet ----people ----JSPファイルとWeb.xml -------WEB-INF ----------class ----------lib ----------src -------work ----------org となっております。 サンプルのウェブアプリケーションを今動かしているのですが、動かない状態です。 |
|
投稿日時: 2005-04-22 16:24
--jspAndServlet
----people ----JSPファイルとWeb.xml -------WEB-INF ----------class ----------lib ----------src -------work ----------org 若干おかしな所があります。 (1)web.xmlはWEB-INF配下に配置してください。 (2)classではなくclassesです。 |
|
投稿日時: 2005-04-22 16:37
>(1)web.xmlはWEB-INF配下に配置してください。
配置いたしました。しかし、以前404がでます。 TOMCATの再起動なども致しましたが、駄目なようです。 >(2)classではなくclassesです。 すみません、記述ミスです。申し訳ございませんでした。 |
|
投稿日時: 2005-04-22 16:43
気になったのですが、
web.xmlの1文字目が大文字になっているのは有効なのでしょうか? それとも単にスペルミスなのでしょうか? |
|
投稿日時: 2005-04-22 16:44
まず大前提的な確認なのですが、people配下のhtmlファイルなどは
正常に閲覧できますか? |
|
投稿日時: 2005-04-22 16:45
Tomcatということですので、以下の前提だとします。
web.xmlの内容 *************************************************************************** <servlet> <servlet-name>サーブレット名(任意)</servlet-name> <servlet-class>サーブレットクラス名(パスからのクラス名)</servlet-file> ・・・ </servlest> <servlet-mapping> <servlet-name>サーブレット名(上で指定した名前)</servlet-name> <url-pattern>パターン名(任意)</url-pattern> </servlet-mapping> *************************************************************************** コンテキストパス *************************************************************************** people *************************************************************************** form *************************************************************************** <form action="http://localhost:8080/people/パターン名" method="POST"> *************************************************************************** 上記のように、すべての対応を取ってみてください。 その結果はどうなりますでしょうか? ■説明 <servlet>で名前を指定して、<servlet-mapping>でどんな文字列がサーブレットを指しているのかを指定しているだけですょ。 ex) 有名どころでStrutsの場合は サーブレット名:action サーブレットクラス:org.apache.struts.action.ActionServlet URLパターン:*.do ですね^^ 自作サーブレットですと、 サーブレット名:myservlet サーブレットクラス:xx.xx.xx.MyServlet URLパターン:/myservlet とかでしょうか・・・ 最後に、formやurlしていでサーブレットに行き着くためには、 1.http://localhost:8080/people/パターン名 http://localhost:8080/people/xxxx.do (Struts例) http://localhost:8080/people/myservlet (自作例) 2.http://localhost:8080/people/サーブレットクラス名 でたどり着けるはずです。 もし、これでだめなようなら、warファイルの中にServletクラスがあるかどうか 探してみたほうがいいですね^^; (↑この場合はなにか例外が出ているはずです。もしあれば、教えて下さい。) |