お世話になっております。

現在GoogleAppEngineを利用してサーバーサイドを制作しています。  
Servletのバージョンは2.5です。

APIなどを作成する上でapi.example.comの形でサブドメイン形式にしようと思ってます。

そこで

通常ページ: example.com  
APIページ: api.example.com  
管理ページ: admin.example.com

のイメージでサブドメインでServletを分けたいと思います。

ソースファイルのパッケージ構成はクラス名を統一したいので  
ページ用Servlet: com.exampleパッケージ  
API用Servlet: com.example.apiパッケージ  
管理用Servlet: com.example.adminパッケージ  
このように分けて配置しようと考えています。

そこで質問なのですが、  
newsの表示: example.com/news  
newsのAPI: api.example.com/news  
news管理画面: admin.example.com/news  
とURLを構成する場合、どのようにアクセスを判断してServletを切り分けるのがいいのでしょうか？

`<url-pattern>`を使用するにもドメイン以下が同じのためうまく切り分けれていない状況です。  
`<url-pattern>`で切り分けられれば`<security-constraint>`を使用するときも楽だなとは思っています。

1つの手段としては  
filterクラスを定義し、サブドメインを解析してサーブレットにforwardさせる  
方法ならできると思うのですが、news以外にもコンテンツが増えた場合、それに合わせてフィルタークラスも増えていくのがナンセンスだと思っています。

宜しくお願い致します。
CC BY-SA 3.0
2016-01-19T11:17:18.880
21075
2016-01-19T15:15:16.330
2016-01-19T15:15:16.330
5778
297
question
java java-ee servlet
起動するServletをサブドメインで判断したい