XML + запись в относительный путь
У меня есть следующая структура папок
TempProj
!-js
!-jsp
!-WEB-INF
!-classes
!-lib
Внутри моей папки lib у меня есть java-файл, который создает XML-файл, мне действительно нужно, чтобы файл был сгенерирован внутри папки jsp.
Я создаю с помощью StreamResult result = new StreamResult("test.xml");
Я попытался дать следующие пути "../../jsp/text.xml". Поскольку я его развернул, путь должен быть относительным.
Любая помощь!!
1 ответ
Какой сервер приложений вы используете? Если вы используете Websphere (возможно, другие, но я не знаю), вам, возможно, придется установить "URL-адрес файла" и использовать JNDI, чтобы делегировать работу по поиску каталога самому серверу приложений.
В качестве эксперимента, чтобы пролить больше света на проблему, вы можете попробовать что-то вроде:
File nopath = new File("text.xml");
System.out.println(nopath.getCanonicalPath());
А также:
File relpath = new File("../../jsp/text.xml");
System.out.println(relpath.getCanonicalPath());
Интересно, сможете ли вы сделать это... У меня есть ощущение (и это все, пожалуйста, проверьте!), Что диспетчеру безопасности сервера приложений может не нравиться, что вы пытаетесь пройтись по каталогу и выйти из него.....
Возможно, вы захотите пересмотреть вопрос о том, чтобы не создавать файл на диске - вместо этого создайте новый сервлет, который динамически обслуживает XML...(при условии, что вам нужен клиент-браузер, чтобы в конечном итоге увидеть какой-то XML...).