《Java Web 期末项目分享:MVC+DBUtils+c3p0 玩转数据库增删改查》——第一弹

一、项目结构搭建(MVC 分层)

在 IDEA 中创建 Web 项目,建立以下目录结构:

复制代码
项目名
├─ src/main/java
│  ├─ com.xxx.entity       // Model层:实体类
│  ├─ com.xxx.dao          // Model层:数据访问接口
│  ├─ com.xxx.dao.impl     // Model层:数据访问实现
│  ├─ com.xxx.service      // 业务逻辑层接口
│  ├─ com.xxx.service.impl // 业务逻辑层实现
│  └─ com.xxx.servlet      // Controller层:Servlet
├─ web
│  ├─ login.jsp            // View层:登录页
│  ├─ index.jsp            // View层:主页面(显示info列表)
│  ├─ add.jsp              // View层:新增页面
│  ├─ edit.jsp             // View层:修改页面
│  └─ WEB-INF
│     ├─ lib               // 存放Jar包
│     └─ web.xml           // 项目配置文件
└─ c3p0-config.xml         // c3p0连接池配置文件(放src目录)

三、核心模块实现

1. 基础配置

  • c3p0 配置 :编写c3p0-config.xml,配置 MySQL 连接信息(驱动、URL、用户名、密码);
  • web.xml 配置 :配置 Servlet 映射、欢迎页(比如默认跳转到login.jsp)、Session 超时时间。

2. Model 层实现

  • 实体类(Info.java) :对应info表字段,编写属性、getter/setter 方法;
  • DAO 层
    • InfoDao接口,定义增删改查方法(addInfodeleteInfoupdateInfoqueryInfo等);
    • InfoDaoImpl实现类,用 DBUtils 的QueryRunner(基于 c3p0 数据源)实现接口方法;
  • Service 层
    • InfoService接口,封装 DAO 方法;
    • InfoServiceImpl实现类,调用 DAO 层完成业务逻辑。

3. Controller 层(Servlet)

  • LoginServlet
    1. 接收登录页面的用户名 / 密码参数;
    2. 调用 Service 层验证(查询 info 表中是否存在该用户);
    3. 验证成功:用 Session 保存用户信息,跳转index.jsp;失败:提示错误并返回登录页;
    4. 可选:用 Cookie 保存用户名(实现 "记住我" 功能)。
  • InfoListServlet
    1. 检查 Session 是否有登录信息(无则跳登录页);
    2. 调用 Service 查询 info 表所有数据,存入 request;
    3. 转发到index.jsp显示列表。
  • AddInfoServlet:接收 add.jsp 的表单数据,调用 Service 新增记录,重定向到 InfoListServlet。
  • DeleteInfoServlet:接收要删除的 id 参数,调用 Service 删除记录,重定向到 InfoListServlet。
  • EditInfoServlet
    1. 接收 id 参数,查询该记录信息,存入 request 并转发到edit.jsp
    2. 接收 edit.jsp 的修改数据,调用 Service 更新记录,重定向到 InfoListServlet。
  • QueryInfoServlet :接收查询条件参数,调用 Service 按条件查询,转发到index.jsp显示结果。

4. View 层(JSP 页面)

(1)login.jsp:编写登录表单,提交到 LoginServlet;可读取 Cookie 自动填充用户名。

(2)index.jsp

  • 显示 info 表数据列表(用 JSTL/EL 表达式遍历 request 中的数据);
  • 增加 "新增" 按钮(跳 add.jsp)、每条记录的 "修改""删除" 按钮(对应 Servlet);
  • 增加查询表单,提交到 QueryInfoServlet。

(3)add.jsp/edit.jsp:编写表单,提交到对应 Servlet,实现数据录入 / 回显。

四、测试与优化

1、功能测

启动 Tomcat,测试登录、增删改查是否正常(检查数据库数据变化、页面显示是否正确);

2、异常处

添加空值判断、数据库操作异常捕获,给出友好提示;

3、Session 验

确保未登录时直接访问 Servlet 会跳转到登录页。

相关推荐
lightningyang18 小时前
Hadoop 分布式集群配置(OpenEuler 1主2)
hadoop·openeuler·天枢一体化虚拟仿真靶场平台
是阿威啊19 小时前
【第六站】测试本地项目连接虚拟机上的大数据集群
大数据·linux·hive·hadoop·spark·yarn
老徐电商数据笔记19 小时前
技术复盘第八篇:从“数据烟囱”到“能力引擎”:中型电商数仓重构实战手册
大数据·数据仓库·重构·数据中台·用户画像·技术面试
青木川崎21 小时前
hive实战
数据仓库·hive·hadoop
是阿威啊21 小时前
【第五站】集群组件一键启动/关闭脚本(Hadoop/YARN + Hive + Spark)
linux·运维·hive·hadoop·spark
青木川崎21 小时前
大数据技术之hive
大数据·hive·hadoop
搬砖快乐~21 小时前
面经:大数据开发岗-初面 面试题(40分钟)
大数据·hadoop·spark·kafka·面试题·面经
是阿威啊21 小时前
【第三站】本地虚拟机部署hive集群
linux·数据仓库·hive·hadoop·分布式
和光同尘202321 小时前
一文讲透CentOS下安装部署使用MYSQL
linux·运维·数据库·数据仓库·mysql·centos·database
qq_2704900961 天前
基于Hadoop的教育大数据可视化系统的设计与实现
大数据·hadoop·信息可视化