JSP页面获取后台程序转发前的URL地址

发布于 2021-11-30 01:48:51 字数 812 浏览 824 评论 1

我在浏览器中敲入了一个URL,比如localhost/admin/home/2/2232323,而在SPring框架中,由于存在将请求转发到对一尼姑的JSP的逻辑,如下:

@RequestMapping("{userName}/home/{categoryId}/{fileName}")
public String toUserCategory(){

return "blog/blog_list";  //返回JSP页面

}

这样就会将上面浏览器中的localhost/admin/home/2/2232323请求的JSP页面内容返回到浏览器中,此时,浏览器中的URL仍旧是localhost/admin/home/2/2232323,但是我在JSP页面中使用下面的代码获取请求的URL:

String pageUrl = request.getRequestURI();

却变成了JSP的全路径:/WEB-INF/blog/blog_template.jsp而不是 我想要的/admin/home/2/2232323,这是 怎么回事?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不再见 2021-12-05 10:14:06

我也遇到了这个需求,我的处理方案是:

写一个过滤器捕获所有请求,在过滤器中获取详细访问路径,把这个路径放到request属性范围内,由于你的跳转都是内部转发,所以在你的jsp页面中可以从request属性范围内获取这个原始访问路径。

网上有兄弟说放到session范围内,个人感觉是很不合适的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文