出现背景
在早期, 我们只有 servlet 而没有 jsp, 所以如果要创建一个静态内容和动态内容结合的页面, 就只能通过 response 输出 html 语句, 非常的麻烦.
JSP 的出现就简化了 Servlet 的开发. 但是随着项目的体量增大, jsp 这种 java 代码和 HTML 混合 (还要包括 JS 代码) 的书写方式就造成了维护上的困难, 也不利于分工协作.
这就是 MVC 开发模式出现的背景. 我们写代码就应该遵循 MVC 开发模式的要求.
具体内容
MVC 指的是, 将一个程序划分为三个部分: M(Model, 模型)\V(view, 视图)\C(Controller, 控制器), 三部分各司其职, 降低了代码的耦合度.
这三部分的分工和协作可以通过下图来看:
浏览器的访问由控制器接收, 控制器调用模型, 传递用户输入的参数, 进行业务方面的操作(例如查询数据库, 封装对象等等), 模型返回要返回给用户的数据, 控制器再将这些数据发送给视图. 由视图创建最终要给用户展示的页面发送给客户端.
这里, 我们的控制器用 Servlet 实现, 模型用 JavaBean 实现, 视图用 JSP 实现
由上面我们可以看出来, MVC 实际上是一种软件架构, 而不仅仅是一种编程的设计模式
优缺点
优点
耦合度低, 方便维护, 利于分工协作
重用性高
缺点
使用 MVC 需要精心设计, 不适合中型和小型的项目, 对开发人员的要求比较高
来源: http://www.bubuko.com/infodetail-3324668.html