对SSH框架的理解
首先是对struts的理解。struts是把servlet、jsp以及众多标签库整合在一起的开源web框架,他实现了mvc设计模式。Struts实际上就是对MVC的各部件提供了现成的实现组件。Struts的中央控制器是ActionServlet,当请求到达时,它根据配置文件struts-config.xml的配置参数分配请求给不同的action处理。在请求分配给Action之前,会将请求参数封装在ActionForm对象中,会根据配置参数决定是否先调用validate方法进行验证,成功才会传递给Action,失败则跳转到input属性指定的页面。Action的execute方法执行成功之后会返回一个ActionForward对象,根据配置文件的forward跳转到相应的页面。
Struts实现了MVC设计模式,层次结构清晰,使开发者只关注业务逻辑的实现,便于维护。集成标签库,提供异常处理机制和数据库连接池管理。
然后是对hibernate的理解。hibernate是一个轻量级的开源持久层框架,hibernate在原有三层结构基础上,从业务逻辑层分离出来持久层,专门负责数据的持久化操作,是业务逻辑层可以真正的专注于业务逻辑的开发,不再需要编写复杂易错的SQL语句,使得我们可以随心所欲的使用对象编程思维来操纵数据库。
在配置文件hibernate.cfg.xml中配置好数据库连接,方言等信息,读取配置文件创建configuration对象再产生SessionFactory再创建Session,启动事务,完成CRUD操作,关闭session。
Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 移植性较好,更换数据库只需要更改配置文件中的参数,支持各种关系性数据库,映射灵活性好。完全面对对象的思想操作数据库。提供缓存机制,延迟加载,有一级缓存(Session级别)和二级缓存(SessionFactory级别),利用缓存降低数据库的访问率。简洁的HQL编程。
最后是对spring的理解。Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的非侵入性容器框架。Spring的核心是IOC和AOP,IOC实现了简单工厂模式,可以很好的解耦合,通过IOC和DI的思想将类与类之间的依赖关系放置在配置文件中。各个类都是相对独立存在的,调用关系有配置文件实现,这样就实现了程序之间的松耦合。(DI的三种注入方式?),AOP是面对切面编程,它将不应该聚合在一起的功能(像事务的管理)从业务操作代码中分离并提取出来,使用DI注入到业务代码中,降低代码的耦合度,提高了代码重用率(AOP实现的两种方式?)。
Spring提供一种管理对象的方法,把中间层对象有效的组织起来。低侵入性设计,DI机制降低了业务对象替换的复杂性,应用服务器之间是可移植的。方便集成各种优秀框架,写出易于测试的代码方便程序的测试,支持声明式事务,解耦合,简化开发,扩展性好。
最新文章
- Android 和 H5 通信
- Mac 软件篇
- 免费打造自己的个人网站,免费域名、免费空间、FTP、数据库什么的,一个不能少,没钱,也可以这么任性
- MVP 2015社区大讲堂之:在ASP.NET应用中执行后台任务
- 通过eclipse配置Spring MVC项目
- HTML的超链接
- Sq server 关于存储过程,触发器的一些理论简述
- BestCoder Round #35
- JavaScript中的作用域与函数和变量声明的提升
- jdk安装 java运行编译(不含语法)
- 网络安装CentOS 5.3
- nvl isnull coalesce
- css左右布局的几种实现方式和优缺点
- 五十个小技巧提高PHP执行效率(一)
- Axure使用心得分享
- (转)SQLite内置函数
- HDU 3月ACM模拟赛T10 COUNT
- mysql多实例配置下,用脚本启动mysql时,出现Please read ";Security"; section of the manual to find out how to run mysqld as root!
- Python 简单soket例子
- courator - maven
热门文章
- ql的python学习之路-day2
- hadoop与spark的处理技巧(一)Top N处理技巧
- [Abp vNext 入坑分享] - 7.Automapper与validation的使用
- 基于elementUI使用v-model实现经纬度输入的vue组件
- GYM101635E Ingredients
- 四、$jQuery
- Golang源码学习:调度逻辑(二)main goroutine的创建
- 50个SQL语句(MySQL版) 问题九
- Win2003远程桌面突然无法连接,有没有解决方法?
- PHP AES加解密(兼容php5,php7)