ITお絵かき修行

3歩歩いても忘れないために

Apache・Tomcat間のURL連携まとめ(3)

次はApacheTomcatの設定を行う。

f:id:hhhhhskw:20140428141650p:plain

設定内容は以下のとおりとする。

(本来URL設計する際はアプリ側のデータ構造等考慮する必要がありますが、今回は適当に作ります。)

 

【ブラウザで指定するURL】

http://(サーバ名)/echo/200/

→(サーバ名)については、ローカル環境ならローカル環境のapacheの定義を参照。

 AWS等の外部サーバなら、DNSホスト名・IPアドレスなどを指定する。

 

Apacheの変換定義】

1.httpd.conf(もしくはhttpd-proxy.conf)

<Location /echo/200/>

    ProxyPass ajp://(サーバ名):8009/EchoServlet/Echo/1.0/200/

    →サーバ内のapacheの定義(httpd.conf)を参照する。だいたい「localhost

</Location>

 

Tomcatの変換定義】

1.web.xml

<servlet-mapping>

    <servlet-name>EchoServlet</servlet-name>

    <url-pattern>/Echo/1.0/200/</url-pattern>

</servlet-mapping>

<servlet>

    <servlet-name>EchoServlet</servlet-name>

    <servlet-class>echo.EchoServlet</servlet-class>

</servlet>

 

2.EchoServlet.xml

<Context path="/EchoServlet" />

 

これら設定の対応を図にまとめると以下の通りとなる。 

f:id:hhhhhskw:20140428201558p:plain

 

これらの設定を行うことで、ブラウザにて「http://(サーバ名)/echo/200/」にアクセスすると「echo.EchoServletクラス」のdoGetメソッドが実行されるようになった。

実際に実行すると、空白のページが表示される。

chromeではタブバー内のページ名に「(サーバ名)/echo/200/」と表示される。

 

次回はクライアントアプリを作成し

「CL側に用意したクライアントアプリより構築したサーバに対してリクエスト(GET)を投げると、独自に設定されたヘッダ"X-Sample01"に値として"aaa"が設定されていること・HTTPステータスコード200が返却されることを確認する」

を確認する。