2012-02-16 2 views
0

Я работаю над проектом и имею проблему с ссылкой Enumeration, возвращенной getAttributeNames() класса ServletContext.Почему getAttributeName() ServletContext возвращает нежелательные атрибуты?

Имена атрибутов, возвращаемые getAttributeNames(), меня не добавили, то почему они их показали?

Эти атрибуты:

org.apache.tomcat.InstanceManager 
org.apache.catalina.jsp_classpath 
org.apache.tomcat.util.scan.MergedWebXml  
javax.servlet.context.tempdir 
org.apache.catalina.resources 
org.apache.tomcat.JarScanner  
org.apache.jasper.compiler.TldLocationsCache 

Может кто-нибудь сказать мне, как пропустить их так, чтобы я мог извлечь атрибуты, сохраненные мной?

+1

Почему вы используете 'getAttributeNames()' каким-либо образом? Вы хотите отладить их? Или вы генерируете случайные имена атрибутов для своих собственных атрибутов, чтобы вы не могли использовать только 'getAttribute()'? Подумайте об этом еще раз. – BalusC

ответ

2

Это атрибуты tomcat, используемые в их логике сервера. Вам не нужно беспокоиться о них.

+0

Но что, если я хочу получить атрибуты, хранящиеся мной? –

+1

Do getAttribute это может дать вам rt? –

1

Каждый контейнер устанавливает некоторые атрибуты (в зависимости от веб-сервера, реализующего спецификацию). Например, Tomcat 5 устанавливает следующие атрибуты контекста:

  1. org.apache.catalina.jsp_classpath
  2. org.apache.catalina.WELCOME_FILES
  3. javax.servlet.context.tempdir
  4. org.apache .catalina.resources.

И, следовательно, они возвращаются методом.

Для получения более подробной информации см. This.

1

Это атрибуты, которые контейнер Servlet (Tomcat в вашем случае) добавляет и использует внутренне. Постарайтесь не возиться с ними ...

+0

Но что, если я хочу получить атрибуты, хранящиеся мной? Как я могу пропустить атрибуты этого сервера –

+1

'faisal.abc'. Префикс собственных атрибутов и фильтра соответственно. Или используйте только один атрибут, который является HashMap, и разместите там все свои материалы. – Thilo

Смежные вопросы