getParameterMap()方法具有什么功能呢?
getParameterMap()方法简介
`getParameterMap()`是`ServletRequest`接口中定义的一个方法 用于获取HTTP请求中所有的请求参数 并以`Map<String, String[]>`形式返回 它是处理表单提交、查询字符串等场景时非常有用的方法 尤其适用于需要 统一处理多个参数或不确定参数名称的情况
getParameterMap()方法功能
功能 | 描述 |
获取所有请求参数 | 包括 GET 的 URL 查询参数 和 POST 表单提交的参数 |
返回 Map 结构 | Key 为参数名(String),Value 为参数值数组(String[]) |
支持多值参数 | 如复选框(`<input type="checkbox">`)会返回多个值 |
便于遍历和日志记录 | 可用于统一处理、打印、验证参数 |
getParameterMap()方法定义
Map<String, String[]> getParameterMap() - 返回值说明: - `Map<String, String[]>`: 每个键对应一个参数名, 值是该参数的所有值(支持多选等多值情况)
例 1:获取所有参数并打印
当访问地址为: http://localhost:8080/myapp/user?name=Tom&hobby=soccer&hobby=music 或 使用POST提交包含以下字段的表单: ```html <input type="text" name="name" value="Tom"> <input type="checkbox" name="hobby" value="soccer"> 足球 <input type="checkbox" name="hobby" value="music"> 音乐 对应Servlet示例 @WebServlet("/user") public class UserServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { // 获取所有参数 Map<String, String[]> parameterMap = request.getParameterMap(); // 输出响应 response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<h2>所有请求参数:</h2>"); out.println("<ul>"); for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) { String key = entry.getKey(); String[] values = entry.getValue(); out.print("<li>" + key + " = "); out.print(String.join(", ", values)); out.println("</li>"); } out.println("</ul>"); } } 浏览器输出结果: 所有请求参数: - name = Tom - hobby = soccer, music
例 2:统一处理参数(如日志记录)
Map<String, String[]> params = request.getParameterMap(); StringBuilder logMsg = new StringBuilder("接收到请求参数:"); for (Map.Entry<String, String[]> entry : params.entrySet()) { logMsg.append(entry.getKey()).append("=").append(Arrays.toString(entry.getValue())).append("; "); } System.out.println(logMsg);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。