Javaweb中,Servlet对HTML表单数据的处理(如何接收前台网页提交的数据)

一、首先建立一个web项目

        

        创建好web项目后,在里面创建一个html文件用来存放表单,再创建一个java文件用来接收表单提交的数据

二、表单在提交中文数据时可能会出现乱码问题,所以首先处理乱码问题。

        

@WebServlet("/RegisterController")
public class RegisterController extends HttpServlet{
    @Override
    protected void service (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        req.setCharacterEncoding("UTf-8");//设置request对象的编码
        resp.setCharacterEncoding("utf-8");//设置responnse对象的编码(可以省略)
        resp.setContentType("text/html;charset=UTF-8");//设置前台网页的代码(这句必须写)
       
    }
}

三、处理好乱码后开始在创建的HTML文件中编写一些表单数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #table1{
            margin: auto;
        }
    </style>
</head>
<body>
    <form name="form1" method="post" action="RegisterController"><!--action中放我们Java文件中的@WebServlet里放的虚拟目录-->
        <table width="30%" heighe="300px"border="1" id="table1">
            <tr align="center"><td colspan="2">注册</td></tr>
            <tr><td>用户名</td><td><input type="text" id="username" name="username" /></td></tr>
            <tr><td>密码</td><td><input type="password" id="password" name="password" /></td></tr>
            <tr><td>性别</td>
                <td>
                    <input type="radio" value="female" name="gender">女
                    <input type="radio" value="male" name="gender">男
                </td></tr>
            <tr>
                <td>爱好</td>
                <td>
                    <input type="checkbox"value="篮球" name="hobby" >篮球
                    <input type="checkbox"value="足球" name="hobby" >足球
                    <input type="checkbox"value="羽毛球" name="hobby" >羽毛球
                </td>
            </tr>
            <tr><td>地址</td>
                <td>
                    <select mame="address">
                        <option value="成都">成都</option>
                        <option value="湖南">湖南</option>
                        <option value="湖北">湖北</option>
                    </select>

                </td></tr>
            <tr><td>备注</td>
                <td>
                    <input id="comments" name="comments" rows="4" cols="50">
                </td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                    <input type="submit" value="提交">
                    <input type="reset" value="重置">
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

四、编写好表单后接着在Java文件中接收表单提交后的数据

​
package com.xinhua.controller;

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 java.io.IOException;
import java.util.Arrays;

@WebServlet("/RegisterController")
public class RegisterController extends HttpServlet{
    @Override
    protected void service (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        req.setCharacterEncoding("UTf-8");
        resp.setContentType("text/html;charset=UTF-8");
        String username = req.getParameter("username");//使用getParameter方法接收数据
        String password = req.getParameter("password");
        String gender = req.getParameter("gender");
        String[] hobby = req.getParameterValues("hobby");//因为爱好可能有很多,所以选择用一个数组接收
        String address = req.getParameter("address");
        String comments = req.getParameter("comments");
        System.out.println(username+","+password+","+gender+","+ Arrays.toString(hobby)+","+address+","+comments);
    }
}

​

编写好之后运行发布就行啦,最后附上执行后的截图

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值