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

2022.3.3 黑马基于Mybatis、三层架构模型、会话技术,实现登录注册案例,这一篇就够了 较为完整功能的增删改查 源码 阅读详情

用户信息列表展示需求

需求:用户信息的增删改查操作(这里只实现用户信息查询操作)。
技术选型: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);
    }
}

代码下载

黑马就业班(02.JavaWeb+项目实战\09.JSP EL表达式 JSTL)part2——三层架构、EL/JSTL用户信息列表展示案例 1、三层架构:软件设计架构   软件设计的三层架构如下(参考视频20解析):注意三层架构与MVC开发模式的关系。 1. 界面层(表示层):用户看到的界面。用户可以通过界面上的组件和服务器进行交互 2. 业务逻辑层:处理业务逻辑的。 3. 数据访问层:操作数据存储文件(数据库、xml、properties等)。 1. M:Model,模型。JavaBean * 完成具体的业务操作,如:查询数... 阅读详情

相关推荐

黑马JavaWeb+项目(正在更新)3 会话 cookie session MVC 三层架构案例

P 173-175会话技术及cookie

tayer的博客 373

JDBCTemplate&三层架构

一 JDBCTemplate 1.1 概述 使用JDBCTemplate可以将JDBC操作数据库的代码简化到3步,它是spring家族的一个子产品(Spring、SrpingMVC、SpringBoot、SpringSecurty、SpringJPA。。。。。。)所有的产品,都是免费开源,它是对JDBC封装的一套工具包【jar】 api 创建JDBCTemplate对象 new JDBCTempl...

qq_38353993的博客 675

JavaWeb - 黑马旅游网(番外2):用户收藏分页展示

黑马旅游网(番外2):用户收藏界面展示1 功能描述2 功能分析2.1 业务逻辑2.2 实现细节2.2.1 用户身份获取2.2.2 特殊情况处理2.2.3 代码编写位置3 代码实现3.1 后端3.1.1 Servlet3.1.2 Service3.1.3 Dao3.2 前端4 相关链接 笔者在之前的一系列博客中将黑马旅游网系列公开视频课程中涉及到的功能进行了分析和实现,详细内容可前往《黑马旅游网》系列博客及笔者源码传送门 进一步了解和阅读。 1 功能描述 接上篇黑马旅游网(番外1):“自动登录”,本篇博客介绍

xing123456jl的博客 2071

SSM - Springboot - MyBatis-Plus 全栈体系(八)

SpringIoC 实践和应用(五)

柠檬小帽的博客 - 计算机全栈体系 389

黑马程序员 C#学习笔记⑥ 三层架构基础实现员工信息管理

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- 三层架构定义 1、表现层(UIL):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。 2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。 3、数据访问层(DAL):该层

u010632993的专栏 2147

黑马旅游网JavaWeb源码解析:从Maven到三层架构的实战指南

JavaWeb开发是后端工程师的必修课,而Maven作为现代Java项目的构建基石,贯穿了依赖管理、编译打包到部署的全过程。在实际工程中,如何将Servlet、JSP与三层架构有机结合,并借助连接池、Redis缓存提升性能,是初学者迈向企业级开发的关键一步。本文以黑马旅游网源码为线索,从Maven工程结构切入,深入解析BaseServlet反射分发、分层边界划分、动态SQL分页搜索、用户会话保持等核心设计。同时结合Druid连接池配置、Redis缓存收藏次数、Ajax异步交互等典型场景,帮助读者理解请求如何

weixin_29212867的博客 259

SpringIoC三层架构实战

搭建一个三层架构案例,模拟查询全部学生(学生表)信息,持久层使用JdbcTemplate和Druid技术,使用XML方式进行组件管理!

Alphamilk的博客 545

以树的方式展现用户之间的层级关系

因为这儿只能上传一个文件,就只选择了核心的java代码.有不足之处还请多多指教.功能介绍:能够清楚的展示出用户之间的层级关系.实现方法:使用echars3中tree的形式来展示.数据库介绍:当前tree是用两张表来实现的,一张表更简单.user表(id,name),FriendsLog表(userId,parentId).代码构造:为了避免占用过多的资源选择了分层加载.

黑马pink前端HTML(二) —— 表格 - 列表 - 表单标签

视频参考:https://www.bilibili.com/video/av80149248 笔记参考:https://www.bilibili.com/video/av78942920/?spm_id_from=333.788.b_636f6d6d656e74.6评论区 表格 table 表格作用: 存在即是合理的。 表格的现在还是较为常用的一种标签,但不是用来布局,常见显示、展示表格式...

weixin_44159487的博客 930

(测试)黑马用户上网信息数据

(测试用)某马课程用户上网信息数据,完成大数据实验的文档。

Etcd教程 — 第三章 Etcd集群动态发现、DNS发现

Etcd教程 — 第三章 Etcd集群动态发现、DNS发现

Mr_XiMu的博客 2821

JavaWeb-综合案例(用户信息)-学习笔记01【列表查询】

JavaWeb-综合案例(用户信息)-学习笔记01【列表查询】

upward 3071

opencv实践项目-图片拼接之缝合线算法

opencv 图片缝合线算法

wyw0000的博客 2624

B/S中的三层架构和MVC设计模型

一.B/S系统中的三层架构 1.引子: 我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就 是浏览器服务器。在 JavaEE 开发中,几乎全都是基于 B/S架构的开发。那么在 B/S架构中,系统标准的三层架构 包括:表现层、业务层、持久层。三层架构在我们的实际开发中使用的非常多。 2.表现层: 表现层: 也就是我们常说的web层。它负责接...

weixin_43951932的博客 3万+

VINS-Mono 代码详细解读——IMU预积分的残差、Jacobian和协方差 processIMU()+intergrationBase类+imu_factor.h

IMU离散中值预积分 1.1、IMU模型 测量值:加速度计a^、陀螺仪w^, 加上了bias游走和随机白噪声。 真实值:加速度计a、陀螺仪w。 实际情况下,可以获得测量值a^和w^,需要反推真实值。一般忽略随机游走高斯噪声n w=w^-bg; a=qwb(a^-ba)-gw; 1.2、连续时间IMU运动模型,积分 PVQ(两帧之间) 将第k帧和第k+1帧所有的IMU进行积...

try_again_later的博客 9266

从智能手机到汽车电子:聊聊IPC-9702/9704A标准如何帮我们搞定不同场景下的PCB可靠性设计

本文探讨了IPC-9702/9704A标准在智能手机和汽车电子等不同场景下的PCB可靠性设计应用。通过分析消费电子、汽车电子和工业设备中的应力特征,详细解读了IPC标准在应变识别和测试方法论中的核心价值,并提供了具体的轻量化设计策略和全生命周期验证方案,帮助工程师提升PCB的长期可靠性。

weixin_30693683的博客 280

用户信息列表管理系统(黑马小项目)

一、项目场景: 开发一个简单的用户信息列表管理系统,可用于对用户信息进行增删改查操作。以下展示展示改系统的功能效果图: (1)服务器启动时,有一管理员登录页面,需要登录成功后才能进入用户信息系统: (2)当登录成功之后就会进入查询用户信息界面(index.js)中 (3)点击“查询所有用户信息”,进入用户信息管理列表,就可以查看用户信息功能了。 (4)在改表中,有以下几个功能: ①可通过条件查询筛选出需要的用户信息 ②可以在该系统中“添加联系人”和“删除选中的联系人” ③可以在该系统中单个修改和

Bofu 4054

高效利用ChEMBL数据库:从靶点查询到活性数据处理的完整指南

本文提供了高效利用ChEMBL数据库的完整指南,从靶点查询到活性数据处理。详细介绍了靶点精准定位、高级过滤技巧、数据导出优化以及活性数据清洗、特征工程和可视化等实战技巧,帮助药物研发人员快速获取和处理生物活性数据,提升工作效率。

weixin_29278805的博客 798

【JavaWeb学习】10JSP&MVC模式和三层架构

JavaWeb(B站黑马)学习笔记 10JSP&MVC模式和三层架构

weixin_48074431的博客 697

从零开始跑通3DGS教程:(四)修改(缩放、空间变换)colmap生成的sfm结果

通过colmap进行的sfm的普通方式会丢失场景的物理尺度信息,并且并不在符合一般认知的坐标系下,本文将读取colmap生成的点云和相机pose,将其进行空间变换和缩放之后,重新保存,新保存的结果仍然可以被colmap读取以及进行后续的稠密重建以及3dgs等工作

诺有缸的高飞鸟的博客 1424

Pre-suite 开发之MFi功能搭建

Pre-suite 固件中只有带无线硬件的Ezairo 7160sl才具备无线通信能力,其无线功能包括标准BLE 5.2 低功耗蓝牙功能以及非标准的低功耗无线音频流功能。Ezairo 7160sl 支持3种低功耗无线音频流协议:来自APPLE的MFi,来自Google的ASHA以及来自onsemi的remote mic。其中MFi音频流走的G.722编码的Mode1,速率为64kbps;而非MFi音频流走的G.722的Mode3,速率为48kbps.

SnowYang2017的博客 1503

黑马本地生活(列表页面,详情页面)

在学习微信小程序时,黑马给出了列表页面讲解,这里我再补充一个黑马没有讲诉的商家详情页面代码。以上就是本地生活案例讲解。

浩泽学编程的博客 3065

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SpringBootWeb三层架构&分层解耦

三层架构(Three-Tier Architecture)是软件开发中常用的一种设计模式,它将应用程序分为三个主要层次:表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。这种思想称为控制反转。Java中的多态是一种面向对象编程的特性,它允许一个引用变量指向不同类的对象,并根据实际引用的对象类型来执行对应的方法。的类都会被Spring的组件扫描机制发现,并注册为Spring应用上下文中的一个Bean。

Mickey的博客 1982

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

黑马程序员_学习日记54_626三层项目(三层案例)

1、写三层的基本步骤:(以登录练习为例) 1.1根据功能分析Sql语句 由于要求要判断用户名是否存在,并且登录成功后要记录当前用户的真实姓名、主键Id,所以这时考虑sql语句不能是:select count(*)...,应该是下面这条: select * from T_Seats where CC_LoginId=@uid 1.2根据sql语句编写数据访问层 1.3编写业务逻辑层BLL(

Jack's Domain 517

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

黑马微信小程序-实现本地服务九宫格并展示商品列表

黑马微信小程序-实现本地服务九宫格并展示商品列表详细说明

m0_62785037的博客 5356
上一篇: JSP、EL表达式、JSTL
下一篇: leetcode 1343. 大小为 K 且平均值大于等于阈值的子数组数目 —— 滑窗法
ShareBeHappy_Qin
博客等级 码龄9年 2321粉丝 137原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值