- PR -

Servletの動かし方をご教示ください

1
投稿者投稿内容
未記入
会議室デビュー日: 2007/02/10
投稿数: 3
投稿日時: 2007-02-10 17:58
市販の書籍である「即解JSP&Servlet」のサンプルを使用し、
簡単なサーブレットを実行しようとしました。
しかし実行した結果、正常な表示はされず、
「HTTPステータス 404 〜」といった画面になります。
logを見たところ、おそらくwebapps配下に配備したアプリケーションの
web.xmlが認識できず、サーブレットの実行ができていないと思うのですが、
解決方法をご教示いただけると助かります。

実行環境や操作手順は以下の通りです。


[実行環境]
OS: WindowsXP
JAVA: jdk1.5.0_09
WEBサーバー: Apache Tomcat/5.5.9


[WEBアプリケーション構成]
%CATALINA_HOME%
|
|-webapps
|
|-chapter03-3
|
|-WEB-INF
|
|-web.xml
|
|-classes
|
|-Sample.class


[web.xmlの内容(抜粋)]
<servlet>
<servlet-name>mySample</servlet-name>
<servlet-class>Sample</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>mySample</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>


[操作手順]
1)Tomcat起動 (http://localhost:8080/ は確認できました)
2)URL指定「http://localhost:8080/chapter03-3/Hello」

[logの内容(抜粋)]
情報: XML検証は無効です
2007/02/10 16:22:45 org.apache.catalina.startup.ContextConfig applicationWebConfig
情報: アプリケーションのweb.xmlが見つかりません、デフォルトだけを使用します StandardEngine[Catalina].StandardHost[localhost].StandardContext[/chapter03-3]


[補足]
Tomcatの server.xml、web.xml はデフォルトのまま使用しています。
変更はしておりません。


以上よろしくお願いいたします。
未記入
会議室デビュー日: 2007/02/10
投稿数: 3
投稿日時: 2007-02-10 22:26
色々とサイトをまわっていたところ、
tomcat5.5は、それまでのバージョンと異なり、
context.xmlなどを気にする必要があることがわかってきました。
なかなか興味深いです。

もう少し調べてみます。
未記入
会議室デビュー日: 2007/02/10
投稿数: 3
投稿日時: 2007-02-11 18:53
自己解決いたしました。

おそらくWEBアプリを配置したフォルダ名(ハイフン)が原因だとは思うのですが、
確信はもっておりません。

ただ、この書き込みを見ていただいた方が同じ理由で悩まないよう、
自分が行なったことを記載させていただきます。

1)WEBアプリの所在を記載したxmlを配備
「%CATALINA_HOME%\conf\Catalina\localhost」の配下に、
自分が追加したWEBアプリの所在を記載したxmlを作成。

ファイル名:chapter03-3.xml
内容:<Context path="/chapter03-3" reloadable="true" docBase="chapter03-3" />


2)追加したWEBアプリのフォルダと、それを記載した箇所を変更
上記1をおこなっただけでは、何も変化なし。
具体的には、ログに「アプリケーションのweb.xmlが見つかりません、デフォルトだけを使用します」が表示されたままとなっていた。
そこで「chapter03-3」のハイフンに着目し、「chapter033」に変更。
変更箇所は、WEBアプリを配備したフォルダと、上記1のファイル。

これにより、ログに「アプリケーションのweb.xmlが見つかりません、デフォルトだけを使用します」が表示されなくなり、web.xmlを認識した。

3)Tomcat再起動
当然かもしれないが、Tomcatを再起動。
ブラウザからサーブレットを実行したところ成功した。


以上です。
1

スキルアップ/キャリアアップ(JOB@IT)