文章目录
《踩坑+排雷新版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前端的表单数据并且写入数据库中了。