导入BeanUtils.jar和logging.jar
封装:BeanUtils.populate( Object bean , Map properties )
注意:当对日期进行转换时,
1、需要自己创建一个日期转换器:DateConverter对象,
2、设置格式:dateConverter.setPattern(“yyyy-MM-dd”),
3、进行注册:ConvertUtils.register( dateConverter , Date.class );
代码实现:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/registerServlet" method="post">
<table align="center">
<tr>
<td>用户名:</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password"/></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" /></td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="gender" value="m" id="m" checked/><label for="m">男</label>
<input type="radio" name="gender" value="f" id="f"/><label for="f">女</label>
</td>
</tr>
<tr>
<td>生日:</td>
<td><input type="date" name="birthday"/></td>
</tr>
<tr>
<td>电话:</td>
<td><input type="text" name="telephone"/></td>
</tr>
<tr>
<td>邮箱:</td>
<td><input type="text" name="email"/></td>
</tr>
<tr>
<td>月薪:</td>
<td><input type="text" name="salary"/></td>
</tr>
<tr>
<td>自我介绍:</td>
<td>
<textarea rows="5" cols="20" name="description"></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="注册"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</body>
</html>
import java.util.Date;
public class User {
private String username;
private String password;
private String name;
private String gender;
private String telephone;
private double salary;
private String email;
private String description;
private Date birthday;
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
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;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public String toString() {
return "User [username=" + username + ", password=" + password + ", name=" + name + ", gender=" + gender
+ ", telephone=" + telephone + ", salary=" + salary + ", email=" + email + ", description="
+ description + ", birthday=" + birthday + "]";
}
}
import java.lang.reflect.InvocationTargetException;
import java.util.Date;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.converters.DateConverter;
public class MyBeanUtils {
static{
DateConverter converter = new DateConverter();
converter.setPattern("yyyy-MM-dd");
ConvertUtils.register(converter, Date.class);
}
public static void populate(Object obj,Map<String,String[]> map) {
try {
BeanUtils.populate(obj, map);
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
@WebServlet(urlPatterns="/registerServlet")
public class RegisterServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
User user = new User();
MyBeanUtils.populate(user, req.getParameterMap());
System.out.println(user);
}
}