一、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;
pageNo | limit |
1 | 0,5 |
2 | 5,5 |
3 | 10,5 |
分页常见的问题:
1.封装一个分页需要哪些信息
数据表list,总页数totalPage,本页数pageNo和每页显示多少数据pageSize
2.分页需要发送那两条sql语句
SELECT * FROM tableName LIMIT [offset],pageSize;
SELECT COUNT(*) FROM tableName;
标签:控制器,架构,分页,pageSize,MVC,SELECT,三层,JavaBean
From: https://blog.csdn.net/ckx0703/article/details/141036115