有没有正确的方法来构建URL?
在我使用的大部分代码中,都有一些可怕的东西,比如:
String url = "../Somewhere/SomeServlet?method=AMethod&id="+object.getSomething()+ "&aParam="+object.getSomethingElse());
或者 - 更糟糕的是:
String url = "Somewhere/Here/Something.jsp?path="+aFile.toString().replace("\\","/")+ "&aParam="+object.getSomethingElse());
有没有正确的方法:
- 创建新的 URL(或者它是一个 URI)。
- 向其添加正确转义的参数。
- 在这些参数中添加格式正确的文件路径。
- 将其解析为字符串。
从本质上讲 - 仅仅构建字符串比正确完成它太容易了。有没有办法正确地做到这一点,就像构建字符串一样简单?
添加
为了清楚起见 - 经过一番思考 - 我想我正在寻找这样的东西:
String s = new MyThing()
.setPlace("Somewhere/Something.jsp")
.addParameter(aName,aValue)
.addParameter(aName,aFile)
.toString();
这样它就会处理所有逃避并添加“?”/“&” 并将 “\” 更改为 “/” 而不是对文件等使用 “\”。
如果我必须自己写一个(即如果Apache不是一个选项),是否有真正的Java技术可以正确转义各个部分。我的意思是像在参数中转义“”之类的事情,作为“.”,而在其他地方转义“”“,即”%20”。