Java Web:检测带有尾随问号和空查询字符串的URL

时间:2011-02-02 18:23:20

标签: java url query-string normalization

如果网址中有跟踪问号,我有什么办法可以判断?理论上,这将是一个空的非空查询字符串,而根本没有问号将是一个空查询字符串。但无论哪种方式,我的网络应用都会获得request.getQueryString() == null

2 个答案:

答案 0 :(得分:0)

String url = request.getRequestURL().toString();
if(url.indexOf("?")== -1){//it doesn't}

答案 1 :(得分:0)

这样的事情: -

boolean hasTrailingQuestionMark = "GET".equals(request.getMethod()) && request.getParameterNames().hasMoreElements();

我可能错了,但如果请求是GET且它有参数,那么我认为我们可以放心地假设URI后面有一个跟踪问号。

<强>更新

我刚测试了代码,这种方法只有在你有参数时才有效:http://server/bla?param=1。但是,如果您只有http://server/bla?,则此情况将失败。我不知道你是否想要捕获后一个URL签名。