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

文章目录

    • 一、先在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 {@Overrideprotected 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前端的表单数据并且写入数据库中了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apache.camel_Apache Camel 2.12 –支持后退,以减少不太积极的轮询路线

apache.camel这是另一篇博客文章&#xff0c;介绍了下一个Apache Camel 2.12版本中即将进行的改进和新功能。 在上一个博客中&#xff0c;我谈到了路由直接支持的cron表达式 。 这篇博客文章与之相关&#xff0c;因为我们对轮询路由具有另一个新功能&#xff08;使用计划的轮询…

微机原理实验2:多字节BCD加法实验

一、实验目的 掌握数据传送、算术指令和循环指令的用法。 二、实验内容 将两个多位十进制数相加。要求加数,被加数均以ASCII码形式存放在以DATA1和DATA2为首的5个内存单元中( 低位在前)&#xff0c;结果存在DATA1处。 三、程序清单 CRLF MACRO …

解决Tomcat8及Tomcat7下http的post、get请求中参数中文乱码问题

文章目录一、post请求方式二、get请求方式一、post请求方式 Tomcat 8 在获取参数之前添加如下代码&#xff1a; Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException {req.setCharacterEncoding("U…

微机原理实验3:键盘输入与显示实验

一、实验目的 了解移位指令的使用方法。 掌握子程序的调用方法&#xff0c;了解子程序的入口参数和出口参数。 二、实验内容 将键盘接收的四位十六进制数转换为二进制数&#xff0c;并显示在屏幕上。 三、程序清单 CRLF MACRO ;建立宏命令&a…

【JavaWeb】HTTP协议请求响应全解

文章目录一、HTTP简介二、请求报文三、请求方式四、媒体类型五、响应报文一、HTTP简介 HTTP&#xff1a;Hyper Text Transfer Protocol 超文本传输协议。HTTP最大的作用就是确定了请求和响应数据的格式。浏览器发送给服务器的数据&#xff1a;请求报文&#xff1b;服务器返回给…

java heroku_Neo4j Java Rest绑定入门(Heroku部署)

java heroku信不信由你&#xff0c;最近几天是我第一次尝试使用Neo4j的Java Rest Binding 。 我先前在Heroku上的Flavorwocky应用程序使用了Grails Neo4j插件以及其他一些东西&#xff0c;包括工作&#xff0c;嵌入式Neo4j规则。 但是&#xff0c;嵌入式在部署到Heroku时不会起…

【JavaWeb】一文Servlet全解:继承关系、生命周期、容器和请求转发与重定向等

文章目录一、Servlet 概述二、Servlet HelloWorld三、Servlet 继承关系四、Servlet 生命周期五、ServletConfig 和 ServletContext六、请求转发与重定向七、获取请求参数一、Servlet 概述 1、Servlet名字 Servlet Server applet Server&#xff1a;服务器 applet&#xff1a;…

微机原理实验4:统计学生成绩

一、实验目的 掌握比较综合性的汇编程序设计流程&#xff0c;以及多分支情况下程序的设计技巧。 二、实验内容 设计程序统计学生数学成绩。分别归类90-99分、80-89分、70-79分、60-69分及60分以下&#xff0c;并将各段的人数及成绩存入对应的内存单元中&#xff0c;并在屏幕…

Spring Boot的Spring Data JPA示例

1.简介 在本文中&#xff0c;我们将演示如何利用功能强大的Spring Data JPA API与本课程中的数据库&#xff08;内存中的H2数据库&#xff09;进行交互。 Spring Data JPA提供了一组非常强大且高度抽象的接口&#xff0c;用于与任何基础数据库进行交互。 数据库可以是MySQL&am…

C语言实现01字符转比特流

记一个小功能的实现过程&#xff0c;程序中在循环体里使用语句 int num fwrite(&wrByte,1,i/8,pfw);代替了判断语句&#xff0c;不知道是判断每够8比特写入一次的效率高还是直接用上面的语句效率高&#xff0c;有待验证。 int main(int argc, char** argv) {FILE* pfrNU…

为什么写路径这事有点复杂?动态Web工程内编写路径【JavaWeb】

文章目录一、为什么要写路径&#xff1f;二、为什么写路径这事有点复杂&#xff1f;三、准则四、写路径的步骤五、动态获取上下文路径一、为什么要写路径&#xff1f; 整个系统要根据功能拆分成许许多多独立的资源资源之间既要完成自身的功能又要和其他资源配合写路径就是为了从…

Windows编程初步(一)

第一节&#xff1a;安装帮助文档 使用C语言进行Windows开发&#xff0c;必然使用到WindowsSDK。Windows SDK指Windows开发人员工具包&#xff0c;是为使用C语言开发Windows程序所提供的工具集。里面提供的工具异常全面丰富&#xff0c;很少有人能全部了解&#xff0c;在开发Wi…

2022大学生免费(24元)申请个人软著专利(微信小程序)

文章目录一、发放的软著证书二、申请流程概览三、官网提交申请四、纸质材料打印五、纸质材料邮寄六、模板及代码统计工具点击查看《再易江南》微信小程序 一、发放的软著证书 挂号信封 软著证书 点击查看《再易江南》微信小程序 二、申请流程概览 一般情况下&#xff0c;按照文…

微信小程序错误 Cloud API isn‘t enabled, please call wx.cloud.init first 解决

Cloud API isnt enabled, please call wx.cloud.init first 这个错误的意思就是云环境还没有初始化就调用其它的云api了&#xff0c;因此需要先初始化&#xff0c;也就是让我们先 wx.cloud.init() 进行初始化&#xff0c;最简单的办法就是直接在最前面初始化&#xff0c;代码如…

Windows编程初步(二)

第二节&#xff1a;简单的Windows程序&#xff08;二&#xff09; 下面为这个程序增加一个菜单项&#xff1a; 首先设计用户菜单。在工作区里找到资源视图。点击Menu左边的号&#xff0c;双击出现的IDC_WIN_STEP1菜单。 图7 资源视图中的菜单 将help右边的虚框拖入左侧File菜…

kryo java_优化Java序列化– Java,XML,JSON,Kryo,POF

kryo java也许我很天真&#xff0c;但是我一直认为Java序列化肯定是将Java对象序列化为二进制形式的最快&#xff0c;最有效的方法。 毕竟Java是第7个主要发行版&#xff0c;所以这不是新技术&#xff0c;而且由于每个JDK似乎都比上一个快&#xff0c;因此我错误地认为序列化现…

Java数字分类给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3

题目描述&#xff1a; 给定一系列正整数&#xff0c;请按要求对数字进行分类&#xff0c;并输出以下5个数字&#xff1a; A1 能被5整除的数字中所有偶数的和&#xff1b; A2 将被5除后余1的数字按给出顺序进行交错求和&#xff0c;即计算n1-n2n3-n4…&#xff1b; A3 被5除后…

Windows编程之互动与动画

第五节&#xff1a; 考虑屏幕左侧一台坦克&#xff0c;向水平方向发射一枚炮弹,穿越屏幕。 很自然地&#xff0c;这场景中有坦克和炮弹两个对象&#xff0c;各自有各自坐标&#xff0c;坦克坐标是固定的&#xff0c;而炮弹坐标是变化的。因此有两个结构体类型&#xff1a;Tank…

创新设计模式:工厂模式

以前&#xff0c;我们对创建模式进行了介绍&#xff0c;并使用抽象工厂模式来创建对象族。 下一个模式是Factory模式 。 当涉及到Java时&#xff0c;工厂模式是最常用的模式之一。 那么&#xff0c;工厂模式到底是什么呢&#xff1f; 工厂模式处理创建对象而未指定确切的类或…

Java福尔摩斯的约会大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧 3485djDkxh4hhGE 2984akDfkkkkggEdsb shgsfdk dHyscvnm”。大侦探很快就明白了

题目描述&#xff1a; 大侦探福尔摩斯接到一张奇怪的字条&#xff1a;“我们约会吧&#xff01; 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了&#xff0c;字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”&#xff0c;因为前面…