Я пытаюсь понять Java-программу, написанную кем-то другим, и я не знаю Java. Я написал короткий метод для сброса атрибутов объекта запроса.
public void dumpRequest(HttpServletRequest request) {
String[] attrNames = new String[100]; // hard coded
int ani = 0;
Enumeration rns = request.getAttributeNames();
while (rns.hasMoreElements()) {
out.println("attribute name: " + rns.nextElement());
attrNames[ani] = rns.nextElement().toString();
ani = ani + 1;
}
out.println("" + ani + " atributes");
String cn;
for (int n = 0; n < ani; n++) {
cn = attrNames[n];
out.println("** " + cn + " - " + request.getAttribute(cn));
}
out.println("++++++++++++++++++++++");
}
К моему ужасу, я понял, что на вкладке переменных NetBeans отображается вдвое больше атрибутов объекта запроса по сравнению с выводом моего кода.
Перечисление, кажется, задокументировано здесь:
https://tomcat.apache.org/tomcat-4.1-doc/catalina/docs/api/org/apache/catalina/util/Enumerator.html
Что я делаю не так?