我试图了解 ServletRequest 是如何工作的。
例如: http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getParameterNames()
状态“返回包含此请求中包含的参数名称的字符串对象的枚举”
我见过这样的一个例子
Enumeration test_enum = request.getParameterNames();
StringBuilder sb = new StringBuilder();
while (test_enum.hasMoreElements()) {
String paramName = cleanString((String)test_enum.nextElement());
String paramValue = cleanString(request.getParameter(paramName));
if (alteredValues.containsKey(paramName)) paramValue = alteredValues.get(paramName);
try {
paramValue = URLEncoder.encode(paramValue, "UTF-8");
} catch (UnsupportedEncodingException e) {
}
sb.append("&").append(paramName).append("=").append(paramValue);
}
所以我知道这样做的目的是找到所有参数并以 URL 格式列出它们。
我不明白的是 getParameterNames() 如何在页面上找到参数,它是否只是查找具有 name 属性的任何元素并将其计为参数?
在这种情况下,什么有资格作为参数?