Servlet 入门—小案例2

接着上篇文章,继续我们的小案例。

我们采用 restful 的方式来写我们的后台。

今天来完成新增功能的编写。

1. 编写后台代码

     接收请求的 servlet 代码

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 0. 请求中文乱码处理
        req.setCharacterEncoding("utf-8");
        // 1. 读取表单提交的请求参数
        String username = req.getParameter("username");
        String dateStr = req.getParameter("birthday");
        //  1.1 对日期参数处理
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        try {
            date = dateFormat.parse(dateStr);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        // 2. 封装成对象
        User user = new User();
        user.setUserName(username);
        user.setBirthday(date);
        // 3. 保存数据库
        JdbcUtil.save(user);
        // 4. 跳转到列表
        resp.sendRedirect("./users");


    }

数据库工具类 JdbcUtil

package top.lovezhangli.servlet.utils;

import top.lovezhangli.servlet.entity.User;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
 * Desc: JdbcUtil
 * Author: Xu He
 * created: 2021/9/18 10:52
 */

public class JdbcUtil {

    static {
        try {
           Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static void save(User user) {
        List<User> userList = new ArrayList<>();
        try {
            Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/servlet_demo", "root", "123456");
            String sql = "insert into tb_user(username, birthday) values (?,?)";
            PreparedStatement statement = connection.prepareStatement(sql);
            statement.setString(1, user.getUserName());
            statement.setDate(2, new Date(user.getBirthday().getTime()) );
            statement.execute();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

2. 编写前台页面

<%@ page import="top.lovezhangli.servlet.entity.User" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>首页</title>
  </head>
  <body>
        <h2>用户管理系统</h2>
        <form action="/ServletDemo/users" method="post">
        <table>

          <tbody>
          <tr>
            <td>姓名</td>
            <td><input type="text" name="username"/></td>
          </tr>

          <tr>
            <td>生日</td>
            <td><input type="date" name="birthday"/></td>
          </tr>

          <tr>
            <td><input type="submit" value="添加"/></td>
            <td><input type="reset" value="重置"/></td>
          </tr>

          </tbody>

        </table>
        </form>


  </body>
</html>

3. 验证

访问 http://localhost:8080/ServletDemo/add.jsp

填写完表单,点击添加按钮后,查看数据库:

恭喜完成新增功能模块开发,下节课继续列表模块的开发。

 如果觉得还不错的话,关注、分享、在看(关注不失联~), 原创不易,且看且珍惜~

posted on 2021-10-15 16:24  XuHe1  阅读(33)  评论(0编辑  收藏  举报