**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/