急に聞かれて答えられなくて....
2008.09.11
ひょっとしたら常識?かもしれませんが...
同僚の質問:
Tomcat & struts で URL がhttp://www.domain.jp:8080/con/enter/login.do
のとき、/conはContextPathです。では、/enter/login.doは何と呼ぶのでしょう?
というものでした...あれ?
確かに ContextPath はしょっちゅう使うのでおなじみです。ついつい
var URL = "<%=request.getContextPath()%>/next/next.do%>";
とか書いちゃいますから、これを知らないことはないのですが....その後半は?
まあ、ContextPath という概念自体、Tomcat(というか、Java の Application Server )の独自の仕様です。要するに Tomcat へデプロイするための単位ですからね。非Java の Web サービスではこういうのはありえないです....ですから、Tomcat でこれを使わなければ、ほぼ
独自に名を呼ばれる価値
はないわけです....が、一応名前は調べるとありました。別に凄い名前じゃなくて、ありふれた
ServletPath
という名前です(request.getSErvletPath() でアクセスできます)。ふう、使用頻度が低いものって、知らないものですね....
とはいえ、調べる前は、
ひょっとしてこれ、PathInfo では???
などと思ってしまいました。というのは、これは
Tomcat を大きなサービスと捉えると、アプリケーションの実体は ContextPath で表されるものなので、その残りはサービスの詳細を特定する PathInfo(みたいなもの..)なのかな?
なんて考えちゃったんですね。まあこれ、最近の REST の流行で PathInfo を活用して
URL の中でどれがサービスでどれがパラメータなのか、そういう実装は気にしないように!
というスタイルに慣れてきている...ことにも影響を受けている、のかな?などと。
投稿者 : 杉浦 こずえ | 投稿日時 : 2008.09.11 14:32





