用到的jar包:
前台代码:
<body>
<form action="FormServlet" method="post">
用户名:<input type="text" name="userName"><br>
密码: <input type="password" name="pwd"><br>
性别:<input type="radio" name="sex" value="男" checked="checked">男
<input type="radio" name="sex" value="女" >女<br>
爱好: <input type="checkbox" name="hobby" value="篮球" >篮球
<input type="checkbox" name="hobby" value="足球" >足球
<input type="checkbox" name="hobby" value="排球" >排球
<input type="checkbox" name="hobby" value="羽毛球" >羽毛球<br>
所在城市:<select name="city">
<option value="bj">北京</option>
<option value="sh">上海</option>
<option value="sy">沈阳</option>
</select>
<br>
<input type="submit" value="点击注册" />
</form>
</body>
后台代码:
/**
* Servlet implementation class FormServlet
*/
@WebServlet("/FormServlet")
public class FormServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
// 方法一:传统方式
// String userName = request.getParameter("userName");
// String pwd = request.getParameter("pwd");
// String[] hobby = request.getParameterValues("hobby");
// String sex = request.getParameter("sex");
// String city = request.getParameter("city");
// System.out.println(userName);
// System.out.println(pwd);
// System.out.println(sex);
// System.out.println(city);
// for(int i=0;hobby!=null && i<hobby.length;i++) {
// System.out.println(hobby[i]+"\t");
// }
// 方法二:较难理解的方式
// Enumeration<String> names = request.getParameterNames();
// while(names.hasMoreElements()) {
// String strings = names.nextElement();
// String[] parmeterValues = request.getParameterValues(strings);
// for(int i=0;parmeterValues!=null && i<parmeterValues.length;i++) {
// System.out.println(strings+":"+parmeterValues[i]+"\t");
// }
// }
// 方法三:使用工具类简单
User u=new User();
System.out.println("没有使用BeanUtil封装之前:"+u);
try {
BeanUtils.populate(u, request.getParameterMap());
System.out.println("使用BeanUtil封装之后"+u);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
参考的网址: