0

无论如何要从请求 URL 中删除 GET 参数?这样当响应到达客户端时,窗口的位置将是一个从 GET 参数中清除的 URL。无论如何都可以在不进行任何重定向的情况下执行此操作,并且传递的参数可以在服务器上访问?

谢谢!

目的:
缩短网址。目前在我的站点中,链接将有一个处理程序,它将 GET 参数转换为哈希参数。在此之后,位置散列更改侦听器将执行 AJAX 请求(使用位置散列参数)以重新加载文档的某些部分。当尝试在新窗口/标签中打开链接时,我计划“清理” URL 参数并将其放入位置哈希中,由一些字符串分隔。如果无法“清理” URL,则可能会变得太长,因为还会有 GET 参数和位置哈希参数。

4

3 回答 3

0

您可以将 ServletFilterHttpServletRequestWrapper.

在其doFilter方法中,您可以影响Request.

这里是接口的官方文档Filter这里是关于.HttpServletRequestWrapper

最后,是一个关于您想要做什么的好 SO 页面。

于 2013-08-08T05:21:11.793 回答
0

GET 参数是 URL 编码的,这就是它的定义方式http://www.w3schools.com/tags/ref_httpmethods.asp 有一些可以使用的编码方法,比如base64,但如果有的话,无论如何都可以解码您想安全地发送到服务器的信息,您可以使用POST方法代替,也可以将您的页面映射到web.xml并添加一个带有身份验证检查的过滤器,如果您想避免用户玩耍。

于 2013-08-08T05:21:54.200 回答
0

您不让请求参数出现在 URL 中的目的是什么?如果纯粹出于美学考虑,那么您始终可以使用 REST 样式的 url——就像 Stackoverflow——其中的参数是 URL 中的标记。

否则,我不相信客户端可能会请求某个URL?param1=....结果,然后最终URL没有来自服务器的重定向或原始请求是 POST。POST 和 GET的区别

于 2013-08-08T05:27:38.540 回答