Java Servlet API:从URL中删除GET参数

时间:2013-08-08 05:06:44

标签: java jsp java-ee get servlet-3.0

无论如何都要从请求网址中删除GET参数?这样当响应到达客户端时,窗口的位置将是来自GET参数的URL清除。反正有没有做任何重定向,并且传递的参数可以在服务器上访问吗?

谢谢!

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

3 个答案:

答案 0 :(得分:0)

您可以将Servlet FilterHttpServletRequestWrapper一起使用。

doFilter方法中,您可以影响Request

以下是Filter界面上的官方documentation,以下是关于HttpServletRequestWrapper的{​​{3}}。

最后,page是一个很好的SO页面,关于你想做什么。

答案 1 :(得分:0)

GET参数是URL编码的,就像它的定义方式http://www.w3schools.com/tags/ref_httpmethods.asp 可以使用一些编码方法,例如base64,但它仍然可以被解码 如果您想要安全地发送给服务器的某些信息,您可以使用POST方法, 您也可以在web.xml中映射您的页面,并添加带有身份验证检查的过滤器,如果您想避免用户玩游戏。

答案 2 :(得分:0)

您打算不在URL中显示请求参数?如果它纯粹是美学,那么你总是可以使用REST风格的URL - 就像Stackoverflow一样 - 参数是URL中的标记。

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

之间的差异