MVC三层架构理解

MVC三层架构的个人理解

什么是MVC

MVC是Model,View,Controller三个单词的简称:模型,视图,控制器
Model(专于系统的业务处理和系统于数据库的业务交互,以前可以理解为我们java类(JavaBean/Pojo/Entity)通过JDBC对数据库的交互,现在分为Service与Dao层对业务处理和数据库的交互)
View 则指的是视图 如JSP/HTML,专于数据的展示和请求的发起
Controller 控制器,它做的事情和Servlet请求做的事情一样,用于接收请求的数据、返回响应数据、重定向或转发等

以前用户访问系统

用户可以直接请求Servlet然后在Servlet使用JDBC连接数据库,进行系统的CRUD操作,然后在进行视图的定向等工作,或则可以直接访问系统的页面(JSP)。用户这样的操作会使得系统的变得非常臃肿,大致的可以用下图去理解:
MVC三层架构理解_第1张图片

MVC要做的事

因为Sevlet和Jsp都可以写Java代码:为了更利于维护,Sevlet专注于请求,以及视图的控制跳转,Jsp(Html)专注于显示数据,将原先在servlet里处理的数据分割出来一个层去单独实现业务数据操作处理,并且也独立出来一个Dao层来进行与数据库的交互,原先的JavaBean单独独立出来,因为Service层和Dao层里都会引用JavaBean进行逻辑(Service)和接收数据库数据(Dao)的处理,将Service和Dao和JavaBean的这块统称为Model层。如下流程图
MVC三层架构理解_第2张图片

总结

Model

  • 业务处理:业务逻辑(Service)
  • 数据持久层:CRUD(Dao)

View

  • 展示数据
  • 提供链接发起请求(a,from,img…等标签可以提供)

Controller

  • 接收用户请求(request:请求参数,session信息等等…)
  • 交给业务层处理对应的代码
  • 控制视图的跳转

一个业务请求例子的请求处理过程:
用户登录–>接收用户的登录请求–>处理用户请求(获取用户请求参数:username,password)–>交给业务层处理登录业务(判断用户名密码是否正确(在service层做事务的处理))–>Dao层查询用户名密码是否正确–>数据库

你可能感兴趣的:(java,java,mvc)