简单三层架构案例(黑马)—— 用户信息列表展示

本文详细介绍了使用Servlet、JSP、MySQL等技术实现用户信息列表展示的开发过程,包括项目搭建、数据库设计、实体类创建、DAO层实现、Service层处理及Web层请求响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用户信息列表展示需求

需求:用户信息的增删改查操作(这里只实现用户信息查询操作)。
技术选型:Servlet+JSP+MySQL+JDBCTempleat+Duird+BeanUtils+tomcat


开发步骤

简单三层架构案例:
在这里插入图片描述

1、创建项目,配置文件,导入jar包。
2、创建数据库环境,数据库设计:
create database listdisplay; -- 创建数据库
use listdisplay; 			   -- 使用数据库
create table user(   -- 创建表
	id int primary key auto_increment,
	name varchar(20) not null,
	gender varchar(5),
	age int,
	address varchar(32),
	qq	varchar(20),
	email varchar(50)
);
3、创建数据库 userlogin,创建表 user。
4、创建一个包com.qgl.domain,创建一个实体类User,实体类User 对应 user 表,该对象对应表中记录。
5、创建一个包com.qgl.util,创建数据库连接池对象和连接对象的工具类 JDBCUtils。
6、创建一个包com.qgl.dao,创建操作数据库的 UserDao 接口及 子包 impl 下的 UserDaoImpl 实现类。

上述代码查看:https://blog.youkuaiyun.com/longool/article/details/107007396

7、创建一个包com.qgl.service,创建处理业务逻辑的 UserService 接口及 子包 impl 下的 UserServiceImpl 实现类。
package com.qgl.service;

import com.qgl.domain.User;
import java.util.List;
public interface UserService {
    public List<User> findAll();
}
package com.qgl.service.impl;

import com.qgl.dao.UserDao;
import com.qgl.dao.impl.UserDaoImpl;
import com.qgl.domain.User;
import com.qgl.service.UserService;
import java.util.List;

public class UserServiceImpl implements UserService {
    private UserDao dao = new UserDaoImpl();
    @Override
    public List<User> findAll() {
        List<User> users = dao.findAll();
        return users;
    }
}
8、创建一个包com.qgl.web.servlet,创建处理请求信息的 UserListServelt 类。
package com.qgl.web.servlet;

import com.qgl.domain.User;
import com.qgl.service.UserService;
import com.qgl.service.impl.UserServiceImpl;
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 java.io.IOException;
import java.util.List;

@WebServlet("/userListServlet")
public class UserListSevlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 调用service中的findAll方法查询所有用户信息
        UserService us = new UserServiceImpl();
        List<User> users = us.findAll();
        // 将users数据存储到request域中
        req.setAttribute("users",users);
        // 转发
        req.getRequestDispatcher("/list.jsp").forward(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req,resp);
    }
}

代码下载

### 关于 RuoYi 黑马教程的技术资源 #### 1. **RuoYi 的核心模块结构** RuoYi 是一款基于 Spring Boot Vue.js 的开源前后端分离框架,其架构设计清晰且易于扩展。以下是 RuoYi 框架的核心模块及其功能描述: - `ruoyi-framework` 这是整个项目的框架核心模块,包含了多个子目录用于不同的功能实现: - `aspectj`: 提供 AOP 配置支持,适合用来做方法增强[^1]。 - `config`: 存储系统的全局配置文件,例如 Redis、MyBatis 等第三方组件的相关设置。 - `datasource`: 支持多数据源切换的功能配置。 - `interceptor`: 定义拦截器逻辑,可用于权限校验或请求过滤。 - `manager`: 实现异步任务管理等功能。 - `security`: 负责安全认证与授权机制的实现。 - `web`: 控制前端交互逻辑,定义控制器层接口。 #### 2. **黑马程序员 Java AI+ 若依框架项目开发课程** 该课程由黑马程序员提供,专注于通过实际案例讲解如何利用 RuoYi-Vue3 版本构建企业级应用。它不仅涵盖了基础理论知识,还深入探讨了框架的实际应用场景以及优化技巧。 #### 3. **基于 Ruoyi-Cloud-Plus 构建的学成在线项目** 这是一个典型的毕业设计案例——“基于主流微服务技术栈的在线教育系统”。该项目采用最新的微服务架构设计理念,并结合 RuoYi-Cloud-Plus 开发完成。具体资源如下: - 前端代码托管地址:[https://github.com/Xiamu-ssr/Dragon-Edu-Vue3](https://github.com/Xiamu-ssr/Dragon-Edu-Vue3)[^2] - 后端代码托管地址:[https://github.com/Xiamu-ssr/Dragon-Edu](https://github.com/Xiamu-ssr/Dragon-Edu) 这些仓库提供了完整的源码技术文档,非常适合学习者研究实践。 --- ### 示例代码片段 以下是一个简单的 MyBatis 数据库查询示例,展示如何在 RuoYi 中使用 Mapper 接口进行数据库操作: ```java @Mapper public interface UserMapper { @Select("SELECT * FROM sys_user WHERE user_id = #{userId}") SysUser selectUserById(Long userId); } ``` 此代码展示了如何通过自定义 SQL 查询指定用户信息。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值