0
点赞
收藏
分享

微信扫一扫

终于让Web前端和Tomcat(Java服务器)和MySQL(数据库)连在一起了

岛上码农 2022-02-10 阅读 70

文章目录


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

举报

相关推荐

0 条评论