徒然なるままに

個人の備忘録を中心としたブログです

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
前回の記事でtomcatがインストールできたので実際にサーブレットを動かしてみる。

htmlや画像、サーブレット(class)などのwebページを構成する要素となるファイルは
$CATALINA_HOME/tomcat/webapps/以下に保存する(実際はもっと複雑なので後で詳しく説明する。

webapps/ROOT/はその名のとおりルートディレクトリで、
webapps/ROOT/gazo.jpgはlocalhost:8080/gazo.jpgにあたる。
ただ、ここはindex.jarなど設定に必要なファイルが入っているため、
開発プログラムの実行場所には適さない。

そこで方針として任意のhogeというディレクトリを作成し、
webapps/hoge(任意)以下にファイルを保存し、その中にhtmlファイルやクラスファイルを置くことにする。
そうすればhttp://localhost:8080/hoge/index.htmlのようにアクセスすることが可能になるというわけだ。

このように簡単に書いたが、実際はもっと複雑で、
クラスファイルの保存場所はhoge/WEB-INFO/classes ←新規ディレクトリ作成
に置かなければいけない。
そしてクラスとurlの対応付けを行うweb.xmlをhoge/WEB-INFO/web.xmlに作成する。

ここではhoge/WEB-INFO/classes/Test.classが置いてあるとしよう。
このときweb.xmlの中身は以下のようにする。

<servlet>
<servlet-name>sample</servlet-name>
<servlet-class>Test</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>sample</servlet-name>
<url-pattern>/sampleurl</url-pattern>
</servlet-mapping>


<servlet>タグ内<servlet-class>にはクラス名を設定する。
<servlet>タグ内<servlet-name>にはこのクラスに好きな名前をつける。この名前は後のurlとの対応付けに一時的に使うだけなので一意な任意のもので構わない。

<servlet-mapping>内<servlet-name>に先ほどのクラスと対応付けた名前を入れて
<servlet-mapping>内<url-pattern>にクラスに対応するurlコードを設定する。

ここの例ではwebapps/hoge/WEB-INFO/classes/Test.classが
localhost:8080/hoge/sampleurlとしてアクセスできるということだ。

ここまでのファイル配置をまとめて示す。
$CATALINA_HOME/webapps/hoge/index.html
$CATALINA_HOME/webpps/hoge/WEB-INFO/classes/Test.class
$CATALINA_HOME/webpps/hoge/WEB-INFO/web.xml

(参考にしたサイト)
http://www.javadrive.jp/servlet/context/

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://kamiyasu2.blog.fc2.com/tb.php/8-58ad1f76

kamiyasu

Author:kamiyasu

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。