gpt4 book ai didi

java - 如何像 Facebook 那样为其所有用户和页面进行 URL 映射

转载 作者:行者123 更新时间:2023-12-01 05:09:15 25 4
gpt4 key购买 nike

我只是想知道,在java中,当我们需要像www.mydomain.com/buy这样的东西时,我会创建一个servlet并将其映射到buy并且将其添加到部署描述符中。因此,对于每个这样的链接,我都会有一个专门映射到该名称的 servlet。

但现在 facebook 为每个用户提供了一个独立的个人资料网址,例如 www.facebook.com/user1www.facebook.com/user2/friends,我对 php 没有太多了解,所以我不知道他们是怎么做的,但我想知道是否有人必须在 java 中做同样的事情,那么我认为在部署中为 8 亿用户创建映射是不可行的描述符并为它们创建相同数量的 servlet。

有什么办法可以在java中实现这样的事情吗?

不仅 Facebook,很多网站都这样做,比如我知道的一些非常大的电子商务网站,展示这样的产品 www.ecom.com/camera-nikonwww.ecom.com/诺基亚-n70-音乐版/

最佳答案

这种映射是通过编程完成的。您需要将 DispatcherServlet 映射到 /*。它将分析 URL、从中提取用户名并在业务逻辑内执行适当的调用。

顺便说一句,Spring MVC 提供了更高级别的映射工具。例如,您可以编写映射到 / 的 Controller (如上面提到的 servlet)。您可以定义注释如下的方法:

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

传入 URL 的用户名和方法参数之间的映射将自动完成。

关于java - 如何像 Facebook 那样为其所有用户和页面进行 URL 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12246664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com