对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机制降低了业务对象替换的复杂性,应用服务器之间是可移植的。方便集成各种优秀框架,写出易于测试的代码方便程序的测试,支持声明式事务,解耦合,简化开发,扩展性好。
对SSH框架的理解的更多相关文章
- 对SSH三大框架的理解
SSH框架一般指的是Struts.Spring.Hibernate,后来Struts2代替了Struts.最近5年,Struts2已经被Spring MVC代替,而Hibernate基本也被iBati ...
- 【SSH 1】SSH框架的基本理解
导读:在结束了BS之后,接触到的第一个项目算是网上商城了.这次用到了和之前都不一样的框架:SSH.这个项目就和之前学牛腩一样,有着里程碑的意义.当然了,这也就意味着,什么都是新鲜的,接触到的东西,有时 ...
- 关于SSH框架设计的一些理解
近期在学习企业开发领域非常流行的SSH框架(Struts.Hibernate.Spring).因为之前有做过原生的Servlet+JSP的项目,所以在学习过程中我会跟原生开发模式进行对照,在这里我把自 ...
- 说说你对用SSH框架进行开发的理解
SSH框架指的是Struts,Spring,Hibernate.其中,Struts主要用于流程控制:Spring的控制反转能祈祷解耦合的作用:Hibernate主要用于数据持久化.
- 基于ssh框架开发的购物系统的质量属性
根据前面的博客,我们已经大致了解了ssh架构开发整体概念:Struts是一个实现了MVC模式的经典的框架:Hibernate是轻量级Java EE应用的持久层解决方案,以面向对象的方式提供了持久化类到 ...
- SSH 框架
SSH是 struts+spring+hibernate的一个集成框架,是目前较流行的一种web应用程序开源框架.是把多个框架(Struts.Spring以及Hibernate)紧密的结合在一起,用于 ...
- SSH框架构建微信公众帐号服务器小技巧
SSH框架构建微信公众帐号服务器小技巧 熟悉struts2和servlet的同学应该清楚,struts2的方法多样性弥补了servlet单一的doGet 和doPost方法.如果自己的公众账号服务器是 ...
- SSH框架总结(框架分析+环境搭建+实例源码下载) 《转》
这篇文章比较易懂,易理解: 首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层W ...
- SSH框架总结(框架分析+环境搭建+实例源码下载)
来源于: http://blog.csdn.net/shan9liang/article/details/8803989 首先,SSH不是一个框架,而是多个框架(struts+spring+hiber ...
随机推荐
- (Python基础教程之八)Python中的list操作
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- 【Socket编程】【第一节】【Socket基本原理和套接字】
参考http://c.biancheng.net/view/2351.html 一.scoket套接字(告诉你使用哪种数据传输方式) 这个世界上有很多种套接字(socket),比如 DARPA Int ...
- ios中fixed元素在滚动布局中的延时渲染问题
在之前做的一个demo中,有个视图是内滚动的,里边有个bar用了fixed,不是fixed在最外层视图的顶部和底部,在微信/safari/chrome/其他浏览器app上都没出现问题. 然后今天,我把 ...
- Python操作MongoDB代码示例
import pymongo #pip install pymongo安装python操作mongodb的模块 myclient=pymongo.MongoClient(host='127.0.0.1 ...
- Vue刷新页面的三种方式
我们在写项目的时候,经常会遇到,用户执行完某个动作,改变了某些状态,需要重新刷新页面,以此来重新渲染页面 1.原始方法: location.reload(); 2.vue自带的路由跳转: this.$ ...
- ftp服务器搭建(二)
1.已经安装好了vsftpd 进入到根目录下的/etc目录 ls查看一下 2.拷贝一下上面的两个配置文件 我拷贝到了我新建的目录中了 3.查看现在的网络连接方式——我的是-net方式 当然其他方式也 ...
- 浅析String、StringBuilder、StringBuffer
谈谈我对 String.StringBuilder.StringBuffer 的理解 StringBuilder.StringBuffer 和 String 一样,都是用于存储字符串的. 1.那既然有 ...
- 洛谷P2754 [CTSC1999]家园
题目链接:https://www.luogu.org/problemnew/show/P2754 知识点: 最大流 解题思路: 先用 \(DFS\) 判断是否无解. 从时刻 \(0\) 开始枚举答案, ...
- 【JAVA习题三】求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加
import java.util.Scanner; public class a加aa加aaa { public static void main(String[] args) { // TODO A ...
- day19 生成器函数
生成器总结: 语法上和函数类似:生成器函数和常规函数几乎是一样的.它们都是使用def语句进行定义,差别在于,生成器使用yield语句返回一个值,而常规函数使用return语句返回一个值. 自动实现迭代 ...