1

Java で何かが必要な場合はwww.mydomain.com/buy、サーブレットを作成してマップしbuy、展開記述子に追加します。したがって、そのようなリンクごとに、その名前のみに明確にマップされたサーブレットがあります。

www.facebook.com/user1しかし、現在、Facebook はすべてのユーザーに自分のプロファイルへの独立した URL を提供していますwww.facebook.com/user2/friends。デプロイメント記述子で 8 億ユーザーのマッピングを作成し、それらに対して同じ数のサーブレットを作成することは現実的ではないと思います。

Javaでそのようなことを可能にする方法はありますか?

Facebookだけでなく、多くのウェブサイトがそれを行っています。私が知っている非常に大きなeコマースウェブサイトのようにwww.ecom.com/camera-nikonwww.ecom.com/nokia-n70-music-edition/

4

1 に答える 1

0

このようなマッピングは、プログラムによって行われます。DispatcherServletにマップする必要があります/*。URL を分析し、そこからユーザー名を抽出し、ビジネス ロジック内で適切な呼び出しを実行します。

ところで、Spring MVC は、より高いレベルのマッピング機能を提供します。たとえば、/(上記のサーブレットとして) にマップされたコントローラーを作成できます。次のように注釈が付けられたメソッドを定義できます。

@RequestMapping(value = "/{userName}/friends, method = RequestMethod.GET)
public User[] getFriends(@PathVariable(value = "userName") String userName) {
....
}

URL に渡されたユーザー名とメソッド引数の間のマッピングは自動的に行われます。

于 2012-09-03T11:19:08.047 に答える