K4750.netK4750.NET2014-10-16ルートURLへのリクエストをJerseyで受け付けるアプリケーションのルートURL(例えば「http://app.k4750.net/nendoroid/」)へのリクエストをJAX-RSの実装であるJerseyで受け付けようとして手間取ったのでメモを残しておく。(今回の話題には無関係)2.web.xml以下のweb.xmlを持つWebアプリケーションを「http://app.k4750.net/nendoroid/」へデプロイする。</welcome-file-list>welcome-fileの設定により「http://app.k4750.net/nendoroid/」へのアクセスは「http://app.k4750.net/nendoroid/index.do」へのアクセスとみなされ、url-patternの「*.do」に一致し、JerseyのServletContainerが実行される。因みに、url-patternを「/*」にしてしまうという乱暴なやり方もできなくはないが、Webアプリケーションに含まれる画像(*.jpg等)やJavaScript(*.js)等へのアクセスもすべてServletContainer呼び出しになってしまうため、現実的ではない。3.アプリケーションリクエストを受け付けるアプリケーションは以下のとおり。HTMLをStringで返す。}}@PathにリクエストがあったURLの相対パスを記述するのだが、直観に反して(?)@Path("/index.do")ではない。web.xmlのwelcome-fileの設定が適用される前のパス@Path("/")を記述しなければならない。Webアプリケーションの仕様や挙動を熟知していれば当然のことなのかもしれないが、、なんともしっくり来ない動作だと感じる。スマートなやり方はないのだろうかと思う。