在校大学生第一次写博客,借鉴了一些文章(侵删)
1.MVC 设计模式
DAO(Data Access Object):主要对数据的操作,增加、修改、删除等原子性操作。
View层:主要是界面 如 jsp html 等
Service业务层:将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑
控制层:主要使用Servlet进行控制
数据访问层:JDBC技术、持久化框架实现对数据的增删改查
JavaBean:用于封装数据。
1.1模式一(Mode I)
本来大学用这个模式做了多次开发,需求更改的时候维护难度深有体会!
模式一指的就是在开发中将显示层、控制层、数据层的操作统一交给JSP或者JavaBean来进行处理
使用JSP+JavaBean做开发
优点:
- 程序的可读性较高,业务代码都写在JavaBean上,jsp页面上方直接是当前页面的数据处理。
- 可重复利用高,核心的代码都由JavaBean开发了,可以直接写代码生成器生成代码,复用度很高
缺点:
- 没有流程控制,程序中的JSP页面都需要检查请求的参数是否正确,异常发生时的处理。显示操作和业务逻辑代码工作会紧密耦合在一起的!日后维护会困难
1.1模式2(Mode Il)
Mode II 中所有的开发都是以Servlet为主体展开的,由Servlet接收所有的客户端请求,然后根据请求调用相对应的Service业务层,在由业务层调用DAO层,在由DAO层去与数据库进行交互,最后吧所有的显示结果交给JSP完成!,也就是俗称的MVC设计模式!
优点:
- MVC模式开发使用Servlet来做处理请求,代码量略大,但层次清晰
- 分工明确,代码维护难度降低。
缺点:
- 对于萌新,代码可阅读性差了一些,代码量多一些
参考于
https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247483775&idx=1&sn=c9d7ead744c6e0c3ab2fe55c09bbe61f&chksm=ebd7407edca0c9688f3870d895b760836101271b912899821fb35c5704fe215da2fc5daff2f9#rd
Spring MVC
官方文档介绍:
1.Spring MVC 简介 :Spring Web model-view-controller(MVC)framework 是围绕DispatcherServlet设计的,它通过可配置的处理程序映射,视图解析,locale,time zone 和主题解析以及对上传 files 的支持来向处理程序发送请求。默认处理程序基于@Controller和@RequestMapping 注释,提供各种灵活的处理方法。随着 Spring 3.0 的引入,@Controller机制还允许您通过@PathVariable annotation 和其他 features 创建 RESTful Web 站点和 applications。仅如此。它与 Spring IoC 容器完全集成,因此允许您使用 Spring 所具有的所有其他 feature。
优点
-
清晰的角色划分:控制器(controller)、验证器(validator)、命令对象(command obect)、表单对象(form object)、模型对象(model object)、Servlet分发器(DispatcherServlet)、处理器映射(handler mapping)、试图解析器(view resoler)等等。每一个角色都可以由一个专门的对象来实现。
-
可适配、非侵入:可以根据不同的应用场景,选择何事的控制器子类(simple型、command型、from型、wizard型、multi-action型或者自定义),而不是一个单一控制器(比如Action/ActionForm)继承。
-
Spring提供从最简单的URL映射,到复杂的、专用的定制策略。与某些web MVC框架强制开发人员使用单一特定技术相比,Spring显得更加灵活。
-
灵活的model转换:在Springweb框架中,使用基于Map的键/值对来达到轻易的与各种视图技术集成。
-
提供了强大的、灵活性的数据校验、数据格式化、数据绑定的功能,让代码变得轻松愉悦!
-
Spring Bean的生命周期可以被限制在当前的HTTp Request或者HTTp Session。准确的说,这并非Spring MVC框架本身特性,而应归属于Spring MVC使用的WebApplicationContext容器。
后续还有SpingMVC 引用总结,考试期间 补作业去了 T-T