首先准备数据库数据和登录页面
创建user数据表并且插入几条数据

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) DEFAULT NULL,`password` varchar(16) DEFAULT NULL,`email` varchar(30) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;INSERT INTO `user` VALUES ('1', 'zhangsan', '123456', '1111@qq.com');
INSERT INTO `user` VALUES ('2', 'lisi', '123321', '2222@qq.com');
INSERT INTO `user` VALUES ('3', 'wangwu', '111222', '3333@qq.com');

登录页面index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body><h1>欢迎登陆</h1><form action="login" method="post">用户名<input type="text" placeholder="请输入用户名" name="user"><br />密码<input type="password" placeholder="请输入密码" name="pwd"> <inputtype="submit" value="登陆"></form>
</body>
</html>

JCDB工具类
注意先导入必要的jar包
DBUtil.java

package com.wangc.utils;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.tomcat.dbcp.dbcp2.BasicDataSource;public class DBUtil {public static final String DRIVERNAME = "com.mysql.jdbc.Driver";public static final String URL = "jdbc:mysql://localhost:3306/javadata";//注意数据库名public static final String USERNAME = "root";//使用自己的用户名和密码public static final String PASSWORD = "****";//使用自己的用户名和密码public static BasicDataSource bSource = null;static{bSource = new BasicDataSource();bSource.setDriverClassName(DRIVERNAME);bSource.setUrl(URL);bSource.setUsername(USERNAME);bSource.setPassword(PASSWORD);}public static Connection getConn(){try {return bSource.getConnection();} catch (SQLException e) {e.printStackTrace();}return null;}public static void release(Connection conn, Statement stat, ResultSet rs){if (rs != null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if (stat != null) {try {stat.close();} catch (SQLException e) {e.printStackTrace();}}if (conn != null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}
}

LoginServlet.java

package com.wangc.control;import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.wangc.utils.DBUtil;@WebServlet("/login")
public class LoginServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Connection conn = null;ResultSet rs = null;PreparedStatement ps = null;response.setContentType("text/html");response.setCharacterEncoding("utf-8");try {conn = DBUtil.getConn();String sql = "select * from user where name=? and password=?";ps = conn.prepareStatement(sql);ps.setString(1, request.getParameter("user"));ps.setString(2, request.getParameter("pwd"));rs = ps.executeQuery();if (rs.next()) {response.getWriter().write("登陆成功!");}else {response.getWriter().write("登陆失败!");}} catch (SQLException e) {e.printStackTrace();}finally {DBUtil.release(conn, ps, rs);}}}

测试一下
输入
zhangsan
123456
点击登录

输入
zhangsan
1234

GitHub地址

Servlet+MySQL使用DBCP数据库连接池实现用户登录相关推荐

  1. 使用 spring 集成 dbcp 数据库连接池到 Wowza 插件

    对于 Wowza 扩展插件,很可能需要连接数据库进行一些持久化查询操作,而且也很有可能把各种业务逻辑 bean 进行集中管理起来.本文结合集成 dbcp 数据库连接池到 Wowza 插件的案例,顺带介 ...

  2. springboot+dbcp数据库连接池

    springboot+dbcp数据库连接池 1,连接池配置文件 2,连接工具类 3,测试类测试连接 4,实际调用连接去同步数据 1,连接池配置文件 在resources目录下添加文件dbcp.prop ...

  3. 【京东账户】——Mysql/PHP/Ajax爬坑之用户登录

    [京东账户]--Mysql/PHP/Ajax爬坑之用户登录 一.引言 实现京东的账户项目,功能模块之一,用户登录.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.依据功能创建库.表.记 ...

  4. jndi mysql数据库_数据库连接池技术中dbcp、c3p0、jndi

    数据库连接池技术中dbcp.c3p0.jndi 发布时间:2020-05-26 08:52:33 来源:51CTO 阅读:371 作者:ikilun 不管通过何种持久化技术,都必须通过数据连接访问数据 ...

  5. Bootstrap4+MySQL前后端综合实训-Day06-AM【eclipse详细配置Tomcat、开发web项目、servlet、连接MySQL8.0数据库、用户登录界面的编写与验证、分页查询】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 eclipse重置视图 MySQL数据库--建数据库.建数据库 s ...

  6. C3P0 与 DBCP 数据库连接池使用和比较

    博主声明: 转载请在开头附加本文链接及作者信息,并标记为转载.本文由博主 威威喵 原创,请多支持与指教. 本文首发于此   博主:威威喵  |  博客主页:https://blog.csdn.net/ ...

  7. oracle 连接池sql跟踪,实现SQLServer、MySQL和oracle数据库连接池

    1. org.apache.tomcat.dbcp.dbcp.SQLNestedException:Cannot load JDBC driver class 'com.mysql.jdbc.Driv ...

  8. Node.js SQL数据库操作 (上)(操作MySQL数据库及 数据库连接池)

    文章目录 Node.js MySQL驱动 操作 MySQL 数据库 连接 MySQL 数据库 增删改查操作 防止 SQL 注入攻击 数据库连接池操作 Node.js MySQL驱动 Node.js的原 ...

  9. mysql事务scalar_数据库连接池、事务

    连接池简介 1.连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用. 作用:避免频繁地创建与消毁,给服务器减压力. 2.数据库的弊端: 1.当用户群体少服务器可以支撑,如 ...

最新文章

  1. 来自于参赛队伍所反映的总决赛落选之后的建议
  2. Android Thread interrupt 中断JAVA线程(转)
  3. 恒驰机器人_恒大汽车基地:2545台机器人为恒驰“效力”
  4. node-sass 下载失败 解决方案
  5. np读取csv文件_pandas.read_csv函数参数详解
  6. hibernate与jpa_将JPA Hibernate与OptaPlanner集成
  7. 你的iOS静态库该减肥了
  8. android 获取编译日期,flutter学习笔记(2)android编译,以及如何加快首次编译时间。...
  9. win10快速运行vue项目跑起来 - 方法篇
  10. 装箱与拆箱 java 1615211150
  11. vscode生成vue模板快捷键_VSCode 初次写vue项目并一键生成.vue模版
  12. 智力与联系能力的关系
  13. 大整数算法[10] Comba乘法(实现)
  14. oracle undo head,一次悬挂事务的处理思路
  15. 二阶压控电压源低通滤波器的传递函数
  16. 创建菜单与游戏界面(下)
  17. android6.0相机权限申请
  18. c语言 计时 毫秒,c如何获取精确到毫秒的时间
  19. 软件测试常用工具有哪些
  20. 如何回答“你没有经验,我们为什么录用你”

热门文章

  1. 《研磨设计模式》chap7 抽象工厂 Abstract Factory
  2. 攻防世界Reverse第六题open-source
  3. Select多路复用
  4. 设计模式--享元(Flyweight)模式
  5. 【攻防世界003】re-for-50-plz-50
  6. ReadFile 和 补充CreateFile
  7. 【Apache】 LXC 容器中重启 Apache 报错: Failed to set up mount namespacing: Permission denied
  8. 2.1 基础-数字翻转
  9. 寒假每日一题(入门组)【week2 完结】
  10. 1132 Cut Integer (20 分)【难度: 简单 / 知识点: 模拟】