servlet 获取表单数据

本文介绍了如何在Servlet中获取前端通过表单提交的数据,包括使用request.getParameter方法获取文本框、密码框和单选框的数据,使用getParameterValues方法处理多选框数据,并通过setCharacterEncoding方法避免乱码问题。

前端通过form,提交数据到后端,后端通过request对象的getParameter方法,可以直接获取value。

如果要返回数据,可以设置在response里面。

 

一,html注册表单

<!DOCTYPE html>
<html>
  <head>
    <title>Login.html</title>

    <meta name="keywords" content="keyword1,keyword2,keyword3">
    <meta name="description" content="this is my page">
    <meta name="content-type" content="text/html; charset=UTF-8">

    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
  </head>

  <body>
    <form action="/M1/demo1" method="post">
        用户名<input type="text" name="user"><br>
        密码:<input type="password" name="pass"><br>
        性别:<input type="radio" value="男" name="sex" checked="checked">男
                <input type="radio" value="女" name="sex">女<br>
        爱好:<input type="checkbox" value="打球" name="like">打球
            <input type="checkbox" value="打代码" name="like">打代码
            <input type="checkbox" value="打游戏" name="like">打游戏<br>
        去过的城市:<select name="select">
                        <option>请选择</option>
                         <option value ="北京">北京</option>
                         <option value ="上海">上海</option>
                         <option value ="广州">广州</option>
                </select><br>
          <input type="submit" value="提交">
    </form>
  </body>
</html>

 

 

二,获取数据

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Demo1 extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //接受到表单的数据, 先使用request设置服务器应该使用的字符编码,否则字符不统一会出现乱码
        request.setCharacterEncoding("UTF-8");
        //获取请求的数据
        String user = request.getParameter("user");
        String pass = request.getParameter("pass");
        String sex = request.getParameter("sex");
        String[] like = request.getParameterValues("like");
        String to = request.getParameter("select");
        System.out.println(user+pass+sex+to);
        for (int i=0; like!=null && i<like.length; i++){
            System.out.println(like[i]);
        }
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }
}

 

request请求有很多get方法可以获取客户端的信息,还可以获取来自表单的数据。
对表单数据类型的不同,获取的方法不同, 像文本框和密码框或者单选框直接用getParameter(名)方法获取数据, 像多选框使用getParameterValues(名)获取多组数据

request.setCharacterEncoding(编码格式);
作用是在后来getParmeter()获取数据后不会出现乱码, 统一字符集。

单选框按钮可以通过checked=”checked” 来设置默认选中
 

 

 

参考资料:

servlet 获取表单数据

https://blog.csdn.net/qq_36238595/article/details/74853042

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值