1、获取input标签中的值,用request.getParameter("User")(User为input的name值)
2、 获取checkbox的值,由于是多选的,所以不能通过getParameter,因为getParameter只能获取一个,通过string[] str[ request.getParameterValues("love")获取数组,然后通过Arrays.toString(str)就获取到了checkbox选择的value是值;
3、关于提交的中文内容的处理
在Get方式提交的内容中含有中文时:(只能一个数据进行处理)
1 String say=request.getParameter("say");//获取值say=%E4%E8 2 String str=new String(say.getBytes("ISO-8859-1"),"UTF-8");//转码,http 传输使用的是ISO-8859-1编码,我们要转成UTF-8编码 3 System.out.println(str);
在post方式提交的内容中含有中文时:
直接在获取之前设置编码(设置所有的编码,一劳永逸【推荐】)
request.setCharacterEncoding("UTF-8");
Demo
1 System.out.println("Get"); 2 System.out.println(request.getParameter("User")); 3 System.out.println(request.getParameter("Pwd")); 4 System.out.println(request.getParameter("sex")); 5 System.out.println(Arrays.toString(request.getParameterValues("love"))); 6 7 String say=request.getParameter("say"); 8 String str=new String(say.getBytes("ISO-8859-1"),"UTF-8"); 9 System.out.println(str);
1 System.out.println("post"); 2 3 request.setCharacterEncoding("UTF-8"); 4 5 System.out.println(request.getParameter("User")); 6 System.out.println(request.getParameter("Pwd")); 7 System.out.println(request.getParameter("sex")); 8 System.out.println(Arrays.toString(request.getParameterValues("love"))); 9 System.out.println(request.getParameter("say"));
1 <form action="getDataServlet" method="get"> 2 用户名:<input type="text" name="User"/> 3 <br/> 4 密码:<input type="password" name="Pwd"/> 5 <br/> 6 性别:<input type="radio" name="sex" checked="checked" value="01"/>男 7 <input type="radio" name="sex" value="02"/>女<br/> 8 爱好:<input type="checkbox" name="love" value="o1"/>看书 9 <input type="checkbox" name="love" value="o2"/>游泳 10 <input type="checkbox" name="love" value="o3"/>打游戏 11 <input type="checkbox" name="love" value="o4"/>编程 12 <input type="checkbox" name="love" value="o5"/>看电影 13 <br/> 14 自我评价:<textarea rows="5" cols="30" name="say"></textarea> 15 <br/> 16 <input type="submit" value="提交"/> 17 </form>