加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何获取客户端的URL

发布时间:2020-12-15 05:04:13 所属栏目:Java 来源:网络整理
导读:我将请求从Display.jsp发送到TrialShow.jsp页面,但每当我在TrialShow JSP页面中调用${pageContext.request.requestURL}时,我都会收到http:// localhost:8081 / newjsp1 / TrialShow.jsp作为输出.如何在TrialShow JSP页面中显示http:// localhost:8081 /
我将请求从Display.jsp发送到TrialShow.jsp页面,但每当我在TrialShow JSP页面中调用${pageContext.request.requestURL}时,我都会收到http:// localhost:8081 / newjsp1 / TrialShow.jsp作为输出.如何在TrialShow JSP页面中显示http:// localhost:8081 / newjsp1 / Display.jsp?

解决方法

那么你想要一个通过一个完整的HTTP请求调用当前页面的页面的URL?我假设没有前向的方法,因为你通常不会使用JSP(因为它可能会产生IllegalStateException:响应已经提交),而且,如果你有一个转发,你的需求就会按照你想要的方式运行.

最简单的方法和最好的选择是获取HTTP Referer标题(是的,包括传说中的拼写错误).您可以按如下方式在EL中获取它:

${header.referer}

我说“最好的选择”,因为客户不需要填写引荐来源头.大多数浏览器会发送它们,但请记住,该值完全可由客户端控制,因此客户端(或任何客户端安装的软件,以及某些特定的Norton软件作为已知示例)可以欺骗甚至完全删除标头值.

更可靠的方法是让原始页面将其URL作为(隐藏)请求参数传递.例如.

<input type="hidden" name="from" value="${pageContext.request.requestURI}">

这样它可以在下一页访问

${param.from}

我说,“位”,因为客户端仍然可以更改它,但现在您不再依赖于客户端特定的环境了.您仍需要记住,不应将此值用于业务目的.最高使用它进行统计或调试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读