效果(暂时只能输入英文)
整体项目架构:
前端注册界面网页:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="Register" method="post">
<table align="center">
<tr>
<td>name</td>
<td>
<input type="text" name="name"/>
</td>
</tr>
<tr>
<td>gender</td>
<td>
<input type="text" name="gender"/>
</td>
</tr>
<tr>
<td>salary</td>
<td>
<input type="text" name="salary"/>
</td>
</tr>
<tr>
<td>joinDay</td>
<td>
<input type="text" name="joinDay"/>
</td>
</tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="注册"/>
</td>
</tr>
</table>
</form>
</body>
</html>
数据库:
数据库名称为:dbjdbc 表名为 : emp (后面的配置文件也是这么写的)
表创建语句:
CREATE TABLE `emp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`NAME` varchar(10) DEFAULT NULL,
`gender` char(1) DEFAULT NULL,
`salary` double DEFAULT NULL,
`join_date` date DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=gbk
c3p0配置文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<!-- XML文件类似HTML文件,是一种树形结构的文件,上面的这个是文件的根节点 -->
<!-- 这里可以从名字看出,是c3p0的配置 -->
<c3p0-config>
<default-config>
<!-- 这是一个注释,XML文件的注释格式就是这样 -->
<!-- 这下面四个是这个配置文件的必须项,出了错或者里面填写错误一定会失败,连接不到 -->
<!-- 配置文件的内容,c3p0的jar包里面会读取这个文件这里面的配置,来连接到我们想要连接的数据库 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///dbjdbc</property>
<property name="user">root</property>
<property name="password">yht</property>
<!-- 连接池参数 -->
<!-- 这里是基本参数的设置,如果没有会有默认值,根据项目的运作情况,可以在这里面进行更改 -->
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">10</property>
<property name="checkoutTimeout">2000</property>
<property name="maxIdleTime">1000</property>
</default-config>
</c3p0-config>
后台
Bean
package com.yht.bean;
public class Emp {
private int id;
private String name;
private String gender;
private double salary;
private String joinDay;
public Emp() {
super();
}
public Emp(int id, String name, String gender, double salary, String joinDay) {
super();
this.id = id;
this.name = name;
this.gender = gender;
this.salary = salary;
this.joinDay = joinDay;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String getJoinDay() {
return joinDay;
}
public void setJoinDay(String joinDay) {
this.joinDay = joinDay;
}
}
Dao:
package com.yht.dao;
import com.yht.bean.Emp;
public interface EmpDao {
public int insertEmp(Emp emp);
}
Impl:
package com.yht.dao.impl;
import java.sql.SQLException;
import org.apache.commons.dbutils.QueryRunner;
import com.yht.bean.Emp;
import com.yht.dao.EmpDao;
import com.yht.utils.C3P0Utils;
public class EmpDaoImpl implements EmpDao{
@Override
public int insertEmp(Emp emp) {
int result = 0;
QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
String sql = "insert into emp values (null,?,?,?,?)";
try {
result = qr.update(sql,emp.getName(),emp.getGender(),emp.getSalary(),emp.getJoinDay());
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
}
Servlet:
package com.yht.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.yht.bean.Emp;
import com.yht.dao.EmpDao;
import com.yht.dao.impl.EmpDaoImpl;
public class Register extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String salary = request.getParameter("salary");
String joinDate = request.getParameter("joinDay");
Emp emp = new Emp();
emp.setName(name);
emp.setGender(gender);
emp.setSalary(Double.parseDouble(salary));
emp.setJoinDay(joinDate);
EmpDao dao = new EmpDaoImpl();
int result = dao.insertEmp(emp);
PrintWriter out = response.getWriter();
if(result!=0){
out.print("<h1 >success</h1>");
}else{
out.print("<h1 >fail</h1>");
}
}
}
C3p0Utils:
package com.yht.utils;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3P0Utils {
private static DataSource ds = new ComboPooledDataSource();
public static DataSource getDataSource(){
return ds;
}
public static Connection getConnection(){
Connection conn = null;
try {
conn = ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
web配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Register</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>Register</display-name>
<servlet-name>Register</servlet-name>
<servlet-class>com.yht.servlet.Register</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Register</servlet-name>
<url-pattern>/Register</url-pattern>
</servlet-mapping>
</web-app>
jar包下载:
https://blog.csdn.net/qq_39565202/article/details/103295300