什么是MVC:Model(模型) view(视图) Controller(控制器) 模型(实体类和数据库中对应的一个一个字段)、视图(JSP页面)、控制器(srvlet,负责跳转页面)
用户直接访问控制层,控制层就可以直接操作数据库
相当于就是假设有个servlet,servlet里面直接写了个CRUD(增删改查)去操作数据库里面的对象
弊端就是把jdbc的代码也得写到servlet的处理请求里面,程序十分臃肿,不利于维护。
servlet的代码中需要写:处理请求、响应、视图跳转(重定向或者转发)、处理JDBC、处理业务代码、处理逻辑代码。
架构:没有什么是加一层解决不了的如果一层不够,那就再加一层。
程序员调用jdbc,jdbc连接mysql或者oracle或者sqlserver。
Model:(模型层):
业务处理:业务逻辑(Service)
数据持久层(数据库操作):CRUD(增删改查)(Dao层)
View(视图层):
展示数据
提供链接发起servlet请求(a,form,img)
Controller:(控制层)处理业务逻辑
接收用户的请求:(用request去请求,拿到用户的请求参数,session信息)
交给业务层处理对应的代码。
控制视图的跳转
比如我们在点击一个网页的时候,我们作为用户,所看到的网页比如写密码框和账号的地方就是让我们用户看到的view层,这个层上面展示着供我们用户进行操作的界面。
我们进行操作之后,Controller层就会接收我们用户的请求,同时命令业务层去做我们的请求,然后跳转到Model(模型层)。
进入模型层之后,里面有很多服务,比如登录服务,注销服务等等,我们进行做这些服务的时候,里面的Dao层进行具体的操作。之后通过JDBC进行连接数据库,然后得到数据之后,以请求所来的时候进行原路返回响应给用户。
(登录的时候---》接收用户的登录请求-----》处理用户的请求(获取用户登录的参数:username、password------》交给业务层处理登录业务(判断用户名密码是否正确)---------》Dao层查询用户名和密码是否正确---》数据库)