获取GET/POST提交的数据,并处理中文问题

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>
时间: 2024-10-08 10:04:42

获取GET/POST提交的数据,并处理中文问题的相关文章

获取表单提交的数据getParameter()方法

请求对象:request public String getParameter(String name); 通过request的getParameter(String name)方法获取 表单里面的name信息 示列: HTML代码 <input type="text" name="userName"> Jsp代码 Sring userName=equest.getParameter("userName"); request 存储的数

(五)springmvc之获取表单提交的数据

8.1:使用Request <form method="post" id="form1" action="<%=request.getContextPath()%>/formData/formData_1"> <input type="text" name="username" value="用户名"/> <input type="ch

springmvc后台获取表单提交的数据——@ModelAttribute等方式

1.通过注解ModelAttribute直接映射表单中的参数到POJO.在from中的action写提交的路径,在input的name写参数的名称. package com.demo.model; public class user { private String username; private String password; private int nsex; public String getUsername() { return username; } public void se

Request.Form为什么不能获取html传递来的数据?

//只有form method="get"时才可用Request.QueryString["one"]方法        //string one = Request.QueryString["one"];        //string two = Request.QueryString["two"]; //只有form method="post"时才可用Request.Form方法,否则出错, acti

asp.net MVC中控制器获取表单form提交的数据之实体类数据

第一次写记录文章,难免有不足之处:欢迎指出. 1.新建一个mvc项目如: 2.新建一个Test.cs 注意get,set方法不能简写 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 using System; using System.Collections.Generic; using System.Linq; usi

在Action中获取表单提交数据

-----------------siwuxie095 在 Action 中获取表单提交数据 1.之前的 Web 阶段是提交表单到 Servlet,在其中使用 Request 对象 的方法获取数据 2.Struts2 是提交表单到 Action,但 Action 没有 Request 对象,不能 直接使用 Request 对象获取数据 「可以间接使用 Request 对象获取数据」 3.Action 获取表单提交数据主要有三种方式: (1)使用 ActionContext 类 (2)使用 Ser

struts2入门之action获取表单提交数据

action获取表单提交数据,有三种方式: 1.根据ActionContext对象获取: 2.利用ServletActionContext类获取表单数据:(其实就是可以获取HttpServletRequest对象) 3.利用接口注入的方式获取表单数据:实现接口(ServletRequestAware) 其实以上三种方式都是action通过操作域对象来获取数据,和servlet中操作域对象有异曲同工之妙, I.通过ActionContext类获取表单提交数据,代码如下: 1 public clas

servlet自动获取前端页面提交数据

servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+MyBatis进行数据持久化的过程.这里只介绍页面到servlet(controller)提交数据封装对象的过程,MVC+MyBatis访问数据库不在这里介绍. 1.前端页面及代码 1)前端表单页面构建(用于测试简单构建的页面有点丑陋哦~) 2)前端jsp页面代码   这里使用了Ajax异步 get

后台获取页面提交数据时,中文总是乱码

后台获取页面提交数据时,中文总是乱码,折腾了好久才发现是因为,把提交的数据放在了url后面才导致,中文乱码,通过查阅资料才找到解决方法: 页面提交方式: 后台获取形式: String replay = new String(request.getParameter("replay").getBytes("iso-8859-1"),"utf-8");