MVC、三层架构、分页

embedded/2024/10/19 15:39:43/

一、MVC

什么是MVC?

MVC全名是Model View Controller,是模型(Model)- 视图(view)- 控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
最简单、最经典的就是JSP+Servlet+JavaBean
(视图和逻辑隔离开来,控制器(controller)是核心)

MVC响应过程

M(Model)模型  JavaBean
V(View)视图  html、JSP、Thymeleaf、volicity、freemaker
C(Control)控制器  Servlet、Controller、Action
1. 控制器收到来自用户的请求
2. 控制器调用业务层完成JavaBean数据封装
3. 完成业务后通过控制器跳转JSP页面的方式给用户反馈信息
4. JSP为用户作出响应。

什么是JavaBean?

JavaBean:一种规范,表达实体和信息的规范,便于封装重用
1. 所有属性为private
2. 提供默认无参构造方法
3. 提供getter和setter
4. 实现serializable接口

二、三层架构

1. 表现层(Servlet、Controller):负责控制,拿到View传递过来的数据,封装之后交给Service处理,Service处理完了之后,Controller拿到结果,奖结果交给界面。
2. 逻辑层(Service):负责业务逻辑
3. 数据访问层(DAO):纯粹的JDBC的增删改查操作
注:上一层可以调用下一层所有代码,例如StudentServlet不止可以调用IStudentService,还可以调用ITeacherService

三、分页

做分页前先定好每一页显示多少条数据

sql语句:

SELECT * FROM tablename LIMIT [offset],rows;


limit中offset代表偏移到哪个位置,rows代表往下数多少个
pageNo,pageSize:1,5、2,5、3,5

SELECT * FROM tableName LIMIT (pageNo-1)*pageSize,pageSize;
pageNolimit
10,5
25,5
310,5

分页常见的问题:
1.封装一个分页需要哪些信息
数据表list,总页数totalPage,本页数pageNo和每页显示多少数据pageSize
2.分页需要发送那两条sql语句

SELECT * FROM tableName LIMIT [offset],pageSize;
SELECT COUNT(*) FROM tableName;


http://www.ppmy.cn/embedded/94581.html

相关文章

基于hadoop的网络流量分析系统的研究与应用

目录 摘要 1 Abstract 2 第1章 绪论 3 1.1 研究背景 3 1.2 研究目的和意义 4 1.2.1 研究目的 4 1.2.2 研究意义 6 1.3 国内外研究现状分析 7 1.3.1 国内研究现状 7 1.3.2 国外研究现状 9 1.4 研究内容 11 第2章 Hadoop技术及相关组件介绍 12 2.1 HDFS的工作原理及…

跨域:安全分步实施指南

什么是跨域问题? 跨域(Cross-Origin Resource Sharing,CORS)问题发生在浏览器的同源策略(Same-Origin Policy)限制下。当一个域上的网页试图访问另一个域上的资源时,浏览器会阻止这些操作以保护…

高效记录并整理编程学习笔记:打造你的编程知识宝库

高效记录并整理编程学习笔记:打造你的编程知识宝库 在编程学习的征途上,良好的笔记习惯不仅是知识的积累,更是思维的锤炼。一个高效、系统的笔记体系能够帮助你快速掌握新知识,高效回顾旧内容,从而在编程的世界里游刃…

后端Web之HTTP协议基础介绍

目录 1.HTTP概念 2.HTTP请求协议 3.HTTP响应协议 4.HTTP协议解析 1.HTTP概念 HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。它是万维网数据通信的基础,允许将超…

算法训练(leetcode)第五十二天 | Bellman_ford 队列优化算法(SPFA)、BF算法判断负回路、BF之单源有限最短路(有负回路)

刷题记录 94. 城市间货物运输 I-Bellman_ford 队列优化算法(SPFA)95. 城市间货物运输 II-BF算法判断负回路96. 城市间货物运输 III-BF之单源有限最短路(有负回路) 94. 城市间货物运输 I-Bellman_ford 队列优化算法(SPFA) 题目地址…

美股文本信息抽取

import re import jsonfrom rich import print from transformers import AutoTokenizer, AutoModel# 定义不同实体下的具备属性 schema {金融: [日期, 股票名称, 开盘价, 收盘价, 成交量], }# 信息抽取的模版 IE_PATTERN "{}\n\n提取上述句子中{}的实体,并按…

oracle 判断某个字段包含某几个字符like或INSTR

在Oracle数据库中,如果你想判断某个字段是否包含某几个字符(字符序列),你可以使用LIKE操作符或者INSTR函数。选择哪一个取决于你的具体需求,比如是否需要对位置敏感或者是否需要在模式匹配中使用通配符。 使用LIKE操作…

vscode 目录管理

目录 命令行打开新目录: 新窗口打开新目录 使用快捷键 Ctrl + K, Ctrl + O 按 Ctrl + P快速定位目录 输入目录路径 开头 并以 / 结尾。例如,输入 aaa/。 使用 VS Code 插件 Project Manager 3. 管理和切换常用目录 快速打开文件 Favorites插件 常用目录收藏,可以右…