Доступ к файлу ресурсов из JSP

Я хочу получить доступ к файлам xml из класса java, лежащего в папке web/resources.. т.е.

---Веб-страницы
|
|--Web-INF
|
|-ресурсы
| |-data.xml
|
|-other jsps
---Исходная папка
|-databean

Я хочу получить доступ к data.xml из класса в пакете databean. Является ли это возможным? Как?


person MalTec    schedule 03.03.2011    source источник


Ответы (1)


Используйте ServletContext#getResource() или #getResourceAsStream() для получения ресурсов, доступных в веб-контенте.

InputStream input = getServletContext().getResourceAsStream("/WEB-INF/resources/data.xml"); 

Однако вы обычно делаете это в Servlet, а не JSP.

person BalusC    schedule 03.03.2011
comment
привет, сэр, я хочу получить доступ к классу Java. Даже в сервлете. Можете ли вы помочь мне с этим? - person MalTec; 04.03.2011
comment
Передайте ему ServletContext в качестве аргумента конструктора/метода, чтобы вы могли его использовать, или переместите файл в путь к классам, чтобы вы могли вместо этого использовать getClass().getResourceAsStream(path). - person BalusC; 04.03.2011
comment
Как лучше и практичнее? - person MalTec; 04.03.2011
comment
Зависит от того, кому нужен файл. Если это классы Java, укажите путь к классам. Если это страницы Servlets/JSP, поместите их в webcontent. Вам, по-видимому, это вообще не нужно в Servlet/JSP, вопреки тому, что предлагает заголовок вопроса :) - person BalusC; 04.03.2011