В большей части кода, с которым я работаю, есть такие ужасные вещи, как:
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".