MVC模式职责分工及学习路上的一些感想
在正文之前想先说说自己coding道路上的一点感想,不得不感慨一下时间过得很快,之前写过一篇关于JavaWeb_MVC模式的一篇博客,转眼之间时间已经过去了两个月,那时候还是一个刚刚接触JavaWeb的小白(现在依旧是小白),只是粗略的了解了一下各个技术的作用功能(以为大致了解下就可以运用自如,也是天真的不行,结果实际想做些东西的时候各种打击),随之而来的就是对基础(旧)技术的重视,决定要先打好基础之后再去学习当前流形的SSH框架等技术。于是开始了两个月的JavaWeb基础学习路线,两个月之后再回首总结,发现自己对于MVC的理解还是有些改变,准确的来说应该是深入了一些,接下来将计划进行数据库的相关学习(之前也接触过,同理,还是之前学习的太浮躁,要补的还有很多),写了些自己的感受,一来是对自己的一个肯定和一个态度的坚持,二来是希望一些跟我之前一样有过浮躁和迷茫的朋友,放慢你前进的步伐,务实好基础,楼主始终坚信越是基础的越具生命力,越是基础的越具迁移力,让我们在学习的路上共勉。接下来进入正文:
MVC设计模式
软件开发23种标准设计模式 —- 解决问题方法
MVC不属于 软件23种设计模式
MVC架构模式 将web应用资源分为三个部分 : Model、View 、Controller
在软件开发中架构的定义比设计层面是更高的,MVC架构模式 将web应用资源分为三个部分 : Model、View 、Controller
Model2: JSP + JavaBean + Servlet 职责分工
JSP 页面显示
JavaBean 封装数据 处理数据
Servlet 控制整个处理流程,调用JavaBean,调用JSP
因此一般我们在做实际项目时,也往往会根据MVC来定义我们的package,例如:
cn.megustas.user.controller
cn.megustas.user.model
cn.megustas.user.view
cn.megustas.user.utils
为什么要使用MVC? 分工明确,便于维护
例如按照MVC模式我们要设计一个用户登录系统,思路如下:
cn.megustas.user.controller
cn.megustas.user.model
cn.megustas.user.view
cn.megustas.user.utils
编写注册功能:
regist.jsp —- 规定一些user有哪些数据 ?用户名、密码、邮箱、验证码 — 引入验证码图片 — 等一下英语点击切换效果
RegistServlet 控制器
User 存放数据JavaBean
UserModel 处理数据JavaBean —-
使用pull解析器 将数据写入xml * 将xml中数据解析 List对象,将List对象数据序列化Xml
注册成功 跳转
login.jsp
用户注销 —- 原理注销session
记住用户名和密码
原理:向客户端写cookie信息
什么情况下 需要记住用户名和密码:1、用户勾选记住checkbox
2、登陆成功
- 自动登陆 — Filter