通过servle的doPost方法获取前端数据

doPost()方法对比起doGet()方法来具有许多优点,比如隐蔽性好,返回的字符串无大小限制,更加安全。这里要说明的是doPost()方法返回的是字符串或字符串数组,并且适用于表单数据的获取。下面开始介绍doPost()方法的具体使用方法。首先要做好准备工作,搭建好Maven框架、部署好Servlet文件(这两部分在我的其他文章里有我就不再多说),重写父类的方法。当然要重写doPost()方法。这里值得一提的是service方法不要重写。他是servlet父类的方法,在接受网页的请求时(如submit按钮)时,系统会调用与之相映射的servlet函数,这个servlet函数首先会调用service方法,去判断到底是使用doGet()方法还是去使用doPost()方法。所以当你重写之后,他便失去了这个功能,除非你自己加上去,否则servlet是不会自动调用doGet()方法或doPost()方法的。

如下就是一个表单的表头,其对应文件名为“omen”的servlet文件,并且声明了方法为“POST”,所以会调用doPost()方法(默认调用doGet方法)。

        

好了,下面开始介绍如何用servlet去获取各种简单的数据。

一、获取文本框的值。
       下面是HTML里表单中文本框的代码。
        
        
        下面是获取名为name的文本框里的字符串。

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=UTF-8");//设置响应内容类型
        String name = req.getParameter("name");
}
二、获取单选框的值。

        下面是HTML里表单中单选框的代码。        

        

        下面是获取单选框的值的代码。

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    resp.setContentType("text/html;charset=UTF-8");
    String sex = req.getParameter("sex");//sex为选中按钮的value值(String型)
}
三、获取下拉框的值。

        下面是HTML里表单中下拉框的代码。

        

        下面是获取下拉框值的代码。

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       resp.setContentType("text/html;charset=UTF-8");
       String select1 = req.getParameter("select1");//同样这里获取的是选中下拉框的value值
}
四、获取复选框的值。
        下面是HTML里表单中复选框的代码。

      

       下面是获取复选框值的代码。

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       resp.setContentType("text/html;charset=UTF-8");  
     String [] interests = req.getParameterValues("like");//因为是复选框所以有多个值,返回一个数组,数组元素的值为其value值。
}
五、文本域值的获取。
        下面是HTML里表单中文本域的代码。

        

        获取方法和获取文本框的方法一样。

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    resp.setContentType("text/html;charset=UTF-8");
    String reason = req.getParameter("reason");
}
如有错误,欢迎指正。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值