BeanUtils是操作JavaBean的一个类,要用到BeanUtils类,首先要加入以下两个包:
commons-beanutils.jar
commons-logging-1.1.1.jar
其次,根据页面要提交的内容,设计JavaBean,例如:页面要提交用户的名称和密码,那么我们就可以设计一个User类,
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
最后在Servlet中的写法如下
Map<String, String[]> map = request.getParameterMap();
User user = new User();
try {
BeanUtils.populate(user, map);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(user.getUsername());
System.out.println(user.getPassword());
其中
request.getParameterMap();
可以根据页面提交的内容将数据按Map键值对存入Map中
BeanUtils.populate(user, map);
以上这句是将Map中的value值传给user实例
最后打印出用户的名称和密码,就是我们在页面写下的用户名和密码。
另外在做这个练习的时候,遇到了乱码的问题,即页面写的是中文,当传到Servlet中时,出现了乱码,这时就需要我们在Servlet中加入如下一句代码,
request.setCharacterEncoding("UTF-8");
当然UTF-8要根你页面的编码方式一致,都是UTF-8。