1、MVC的概念
MVC是Model-View-Controller的简称,即模型-视图-控制器。
MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。
2、模型
模型是应用程序的主体部分,模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以提高了代码的可重用性。
3、视图
视图是用户看到并与之交互的界面,作用如下:
(1)视图向用户显示相关的数据。
(2)接受用户的输入。
(3)不进行任何实际的业务处理。
4、控制器
(1)控制器接受用户的输入并调用模型和视图去完成用户的需求。
(2)控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。
5、mvc案例之查询
![](https://i-blog.csdnimg.cn/blog_migrate/b4b99d3e2cb4f7d3605b6a3316cfad76.webp?x-image-process=image/format,png)
(1)test.jsp
![](https://i-blog.csdnimg.cn/blog_migrate/aefa6690963de15b61814cba6fcda835.webp?x-image-process=image/format,png)
(2)Department
![](https://i-blog.csdnimg.cn/blog_migrate/83f773b2ddd302a48761751f5813d56a.webp?x-image-process=image/format,png)
(3)ListAllDepartmentsDao
![](https://i-blog.csdnimg.cn/blog_migrate/cb1fb46394164db120eb8f7ab1c36e64.webp?x-image-process=image/format,png)
(4)ListAllDepartmentsServlet
![](https://i-blog.csdnimg.cn/blog_migrate/4f24a5846b6463567f662a1eb08f5df1.webp?x-image-process=image/format,png)
(5)web.xml
![](https://i-blog.csdnimg.cn/blog_migrate/4e72b4881ab878de4be2508a443679fd.webp?x-image-process=image/format,png)
(6)department.jsp
![](https://i-blog.csdnimg.cn/blog_migrate/9554d6e24ee83ebc58d5336a807b0fb5.webp?x-image-process=image/format,png)
(7)重启tomcat
![](https://i-blog.csdnimg.cn/blog_migrate/e81c3d1fc60fab70f5d20cbbf2406a29.webp?x-image-process=image/format,png)
(8)点击上面的超链接
![](https://i-blog.csdnimg.cn/blog_migrate/14f22ccccda78f086284cb290936e757.webp?x-image-process=image/format,png)
6、mvc案例之删除
在上面的案例下添加一个删除功能
(1)departments.jsp
![](https://i-blog.csdnimg.cn/blog_migrate/9d60dcb2ac865dd90efb29504d85e192.webp?x-image-process=image/format,png)
(2)DeleteDepartmentServlet
![](https://i-blog.csdnimg.cn/blog_migrate/8b9969c45bbaa15f073ed40321b60492.webp?x-image-process=image/format,png)
(3)ListAllDepartmentsDao
![](https://i-blog.csdnimg.cn/blog_migrate/bb78e9908cd786934907c13591f1d39e.webp?x-image-process=image/format,png)
(4)web.xml
![](https://i-blog.csdnimg.cn/blog_migrate/a35661d88963c3c47582b9c3421b5bcf.webp?x-image-process=image/format,png)
(5)删除
![](https://i-blog.csdnimg.cn/blog_migrate/aa5f9869dc30772f17192327059bc760.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/1d90a494d640b182ba087d28c8349628.webp?x-image-process=image/format,png)
7、总结
7.1 关于MVC
M:Model;Dao
V:View;JSP,,在页面上填写 Java 代码实现显示
C:Controller; Serlvet
(1)受理请求
(2)获取请求参数
(3)调用 DAO 方法
(4)可能会把 DAO 方法的返回值放入 request 中
(5)转发(或重定向)页面
7.2、什么时候转发,什么时候重定向 ?
若目标的响应页面不需要从 request 中读取任何值,则可以使用重定向。(还可以防止表单的重复提交)
7.3、不足:
(1)使用数据库连接池,DBUtils,JDBCUtils 工具类,DAO 基类
(2)一个请求一个 Serlvet 不好!一个模块使用一个 Serlvet,即多个请求可以使用一个 Servlet
(3)在页面上加入 jQuery 提示
关注公众号:Java后端生活,干货文章第一时间送达!
![](https://i-blog.csdnimg.cn/blog_migrate/7a45d8e17da661d4e66e7b7d3cc3d187.webp?x-image-process=image/format,png)