文章目录
一、先在Web前端来个表单
二、添加Tomcat依赖
三、引入jdbc和dbutils
四、编写Servlet类
五、关联模块
《踩坑+排雷新版IDEA2021.1创建配置Javaweb项目并部署在Tomcat容器》
一、先在Web前端来个表单
如图在web项目目录下创建一个html文件。
文件内容可以参考如下。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="add" method="post"> 姓名:<input type="text" name="name"/> 密码:<input type="password" name="password"/> 地址:<input type="text" name="address"/> 手机号:<input type="text" name="phone"/> <button type="submit">添加</button> </form> </body> </html>
之后记得把Tomcat启动的页面设置为该页面。
二、添加Tomcat依赖
为什么要添加这个依赖呢?其实是因为后面我们写关于HTTP的Java类需要用到Tomcat中的jar包。
点击后将Tomcat添加进来后点击Apply,然后就可以点击OK。
三、引入jdbc和dbutils
关于jdbc:《新年迈出Java后台服务器与数据库交互第一步&2022最新通用Java8&jdbc8连接mysql8》
关于dbutils:《Apache-DBUtils实现CRUD操作,已封装的API实现jdbc对数据库进行操作》
四、编写Servlet类
在当前Module的src下创建Servlet类,如下图。
jdbcUtils类:
package com.yeman.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * @Author: Yeman * @Date: 2022-02-09-18:40 * @Description: */ public class JdbcUtils { public static Connection getConnection() { Connection conn = null; try { String user = "root"; String password = "123456"; String url = "jdbc:mysql://localhost:3306/test"; String driverClass = "com.mysql.cj.jdbc.Driver"; Class.forName(driverClass); conn = DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }finally { return conn; } } }
AddServlet类:
package com.yeman.Servlets; import com.yeman.jdbc.JdbcUtils; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.UnsupportedEncodingException; import java.sql.Connection; import java.sql.SQLException; /** * @Author: Yeman * @Date: 2022-02-09-18:12 * @Description: */ public class AddServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException { req.setCharacterEncoding("UTF-8"); String name = req.getParameter("name"); String password = req.getParameter("password"); String address = req.getParameter("address"); String phone = req.getParameter("phone"); Connection conn = null; try { conn = JdbcUtils.getConnection(); QueryRunner qr = new QueryRunner(); String sql = "insert into user(name,password,address,phone) values(?,?,?,?)"; int update = qr.update(conn, sql, name, password, address, phone); if (update != 0){ System.out.println("添加成功!"); }else System.out.println("添加失败!"); } catch (SQLException e) { e.printStackTrace(); }finally { try { if (conn != null) DbUtils.close(conn); } catch (SQLException e) { e.printStackTrace(); } } } }
五、关联模块
打开web.xml。
可参考代码如下。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>AddServlet</servlet-name> <servlet-class>com.yeman.Servlets.AddServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AddServlet</servlet-name> <url-pattern>/add</url-pattern> </servlet-mapping> </web-app>
然后将下图文件夹删除。
然后如下如所示。
之后添加。
至此服务器就可以获取到web前端的表单数据并且写入数据库中了。