Apache・Tomcat間のURL連携まとめ(3)
設定内容は以下のとおりとする。
(本来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" />
これら設定の対応を図にまとめると以下の通りとなる。
これらの設定を行うことで、ブラウザにて「http://(サーバ名)/echo/200/」にアクセスすると「echo.EchoServletクラス」のdoGetメソッドが実行されるようになった。
実際に実行すると、空白のページが表示される。
→chromeではタブバー内のページ名に「(サーバ名)/echo/200/」と表示される。
次回はクライアントアプリを作成し
「CL側に用意したクライアントアプリより構築したサーバに対してリクエスト(GET)を投げると、独自に設定されたヘッダ"X-Sample01"に値として"aaa"が設定されていること・HTTPステータスコード200が返却されることを確認する」
を確認する。