假设我有 3 个 url 模式需要 Spring MVC 处理,如下所示:
1) www.example.com/login(到登录页面)
2)www.example.com/home(到我的主页)
3) www.example.com/john(到用户主页)
我想知道处理将用户名作为 url 一部分的 url 模式的最佳实践方法是什么(现实世界的例子是 facebook fanpage www.faceboo.com/{fanpage-name})
我想出了自己的解决方案,但不确定这是否是干净的方法或可能的方法。
在我的方法中,我需要在将请求传递给 Spring MVC 的 dispatchservlet 之前拦截请求,然后查询数据库以将用户名转换为用户 ID,并将请求 URI 更改为 Spring MVC 可以识别的模式,例如 www.example/user/userId= 45. 但我不确定这是否可行,因为 ServletAPI 没有 requestURI 的 setter 方法(它确实有 requestURI 的 getter 方法)
或者如果您有更好的解决方案,请与我分享。预先感谢 :-)