java - 如何使用Map访问servlet中的httpRequest数据?

标签 java servlets httprequest

**jsp Code**

<html>

<body>
<form action="test.do">
Name:<input type="text" name="name"/>
Sname:<input type="text" name="sname"/>
<input type="submit" value="sub">
</form>
</body>
</html>

**Servlet Code**
@WebServlet("/test.do")
public class TestServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
        throws ServletException, IOException {
    Map hm=arg0.getParameterMap();
    //System.out.println("Map"+hm);
    Set s=hm.keySet();

    //System.out.println("SET"+s);
    Iterator it=s.iterator();
    while(it.hasNext()){
        String key="";
        Object obj=it.next();
        key=(String)obj;
        System.out.println(key);
        Object obj1=hm.get(key);
    String val[]=(String[])obj1;
        System.out.println(key+"...."+val);
        }

}
}

当我使用此代码时,我可以访问键,但不能访问值。我以 Ljava.lang.String;@199832c 形式获取值!!

我如何存储请求中的所有数据并将其存储在 map 中。

最佳答案

如上所述here ,您可以使用 values 方法获取值。或者,您可以使用 entrySet 获取 map 的每个条目。 。迭代 EntrySet 的代码如下所示:

protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
        throws ServletException, IOException {
    Map<String, String[]) hm=arg0.getParameterMap();
    //System.out.println("Map"+hm);
    Set<Map.Entry<String, String[]>> s=hm.entrySet();
    for (Map.Entry<String,String[]> e:s) {
       System.err.println(String.format("%s maps to %s"), e.getKey(), Arrays.toString(e.getValue()));
    }

如果您还有其他问题,请发表评论。

关于java - 如何使用Map访问servlet中的httpRequest数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17552761/

相关文章:

java - 无法在 linux 服务器上的 tomcat 6.0.24 中部署 war

java - Jetty RequestLog - 发出读取请求正文

java - .listFiles() 返回的文件对象在 .exists() 上返回 false - 文件包含特殊字符

java - 如何仅使用父类,即使被覆盖

java - 从 HttpServletRequest 中退出请求有效负载时抛出 Java Lang 非法状态异常

java - 如何防止有人从 JSP/Servlet 中的浏览器修改输入表单参数

post - 如何获取浏览器的 POST 请求字符串?

node.js - 请求 - 如何 "emitter.setMaxListeners()"?

java - 在 tomcat 中,我写了 tomcat :run , 在 Eclipse 中构建 Maven 项目时,玻璃鱼应该怎么办?

java - 将 switch 语句与 for 循环结合起来