使用servlet来接收表单提交的数据的几种方法

本文介绍了使用Servlet处理HTTP POST请求,接收表单中checkbox等数据的方法,包括后台代码实现和所需jar包,同时提供了相关参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用到的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);
	}

}

参考的网址:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值