JavaWeb(八)MVC设计模式
1、MVC的概念
MVC是Model-View-Controller的简称,即模型-视图-控制器。
MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。
2、模型
模型是应用程序的主体部分,模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以提高了代码的可重用性。
3、视图
视图是用户看到并与之交互的界面,作用如下:
(1)视图向用户显示相关的数据。
(2)接受用户的输入。
(3)不进行任何实际的业务处理。
4、控制器
(1)控制器接受用户的输入并调用模型和视图去完成用户的需求。
(2)控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。
5、mvc案例之查询
![](https://img.haomeiwen.com/i2058461/3ef27d3b5734d5b2.png)
(1)test.jsp
![](https://img.haomeiwen.com/i2058461/d197e73124232540.png)
(2)Department
![](https://img.haomeiwen.com/i2058461/f34e34305066b896.png)
(3)ListAllDepartmentsDao
![](https://img.haomeiwen.com/i2058461/393c66304b16f52c.png)
(4)ListAllDepartmentsServlet
![](https://img.haomeiwen.com/i2058461/4394b31e7cd24aab.png)
(5)web.xml
![](https://img.haomeiwen.com/i2058461/86844c7bd04a944d.png)
(6)department.jsp
![](https://img.haomeiwen.com/i2058461/5a72d693d4ce1c29.png)
(7)重启tomcat
![](https://img.haomeiwen.com/i2058461/75c93be30fb3dd2f.png)
(8)点击上面的超链接
![](https://img.haomeiwen.com/i2058461/0ea1d793bd192545.png)
6、mvc案例之删除
在上面的案例下添加一个删除功能
(1)departments.jsp
![](https://img.haomeiwen.com/i2058461/18523af62f57a12c.png)
(2)DeleteDepartmentServlet
![](https://img.haomeiwen.com/i2058461/66d4d63ec095b74b.png)
(3)ListAllDepartmentsDao
![](https://img.haomeiwen.com/i2058461/42c5608f815e6e8a.png)
(4)web.xml
![](https://img.haomeiwen.com/i2058461/d041d3cf23aa85bf.png)
(5)删除
![](https://img.haomeiwen.com/i2058461/3ab2b419350682d6.png)
![](https://img.haomeiwen.com/i2058461/f4a1e4f7b852a1e0.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://img.haomeiwen.com/i2058461/68ffe9a239c6fade.jpg)