首先是对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框架的理解的更多相关文章

  1. 对SSH三大框架的理解

    SSH框架一般指的是Struts.Spring.Hibernate,后来Struts2代替了Struts.最近5年,Struts2已经被Spring MVC代替,而Hibernate基本也被iBati ...

  2. 【SSH 1】SSH框架的基本理解

    导读:在结束了BS之后,接触到的第一个项目算是网上商城了.这次用到了和之前都不一样的框架:SSH.这个项目就和之前学牛腩一样,有着里程碑的意义.当然了,这也就意味着,什么都是新鲜的,接触到的东西,有时 ...

  3. 关于SSH框架设计的一些理解

    近期在学习企业开发领域非常流行的SSH框架(Struts.Hibernate.Spring).因为之前有做过原生的Servlet+JSP的项目,所以在学习过程中我会跟原生开发模式进行对照,在这里我把自 ...

  4. 说说你对用SSH框架进行开发的理解

    SSH框架指的是Struts,Spring,Hibernate.其中,Struts主要用于流程控制:Spring的控制反转能祈祷解耦合的作用:Hibernate主要用于数据持久化.

  5. 基于ssh框架开发的购物系统的质量属性

    根据前面的博客,我们已经大致了解了ssh架构开发整体概念:Struts是一个实现了MVC模式的经典的框架:Hibernate是轻量级Java EE应用的持久层解决方案,以面向对象的方式提供了持久化类到 ...

  6. SSH 框架

    SSH是 struts+spring+hibernate的一个集成框架,是目前较流行的一种web应用程序开源框架.是把多个框架(Struts.Spring以及Hibernate)紧密的结合在一起,用于 ...

  7. SSH框架构建微信公众帐号服务器小技巧

    SSH框架构建微信公众帐号服务器小技巧 熟悉struts2和servlet的同学应该清楚,struts2的方法多样性弥补了servlet单一的doGet 和doPost方法.如果自己的公众账号服务器是 ...

  8. SSH框架总结(框架分析+环境搭建+实例源码下载) 《转》

    这篇文章比较易懂,易理解: 首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层W ...

  9. SSH框架总结(框架分析+环境搭建+实例源码下载)

    来源于: http://blog.csdn.net/shan9liang/article/details/8803989 首先,SSH不是一个框架,而是多个框架(struts+spring+hiber ...

随机推荐

  1. nodejs上使用sql

    1.首先本地要安装mysql, https://www.mysql.com/downloads/. 2.在node中连接mysql,要安装mysql驱动,也就是npm安装mysql模块:npm i m ...

  2. Spring Cloud Alibaba入门实战之nacos(一)

    Spring Cloud Alibaba入门实战之nacos(一) 前情介绍 ​ Spring Cloud Alibaba 是阿里巴巴提供的新一代的微服务解决方案,相信会有越来越多采用微服务架构的公司 ...

  3. day07:集合的使用0220

    list_1=set([4,5,6,7])list_2=set([4,8,9])list_3=set([4,5])list_4=set([6,7])a = (2,3)b = (2) #list_3是l ...

  4. PAT-1132 Cut Integer (整数分割)

    Cutting an integer means to cut a K digits long integer Z into two integers of (K/2) digits long int ...

  5. Intel FPGA Clock Region概念以及用法

    目录 Intel FPGA 的Clock Region概念 Intel 不同系列FPGA 的Clock Region 1. Clock Region Assignments in Intel Stra ...

  6. ExtJS按钮

    var toppanel = Ext.create('Ext.panel.Panel',{ layout : { type : 'absolute' }, bodyStyle : { backgrou ...

  7. [Objective-c] 002_对象 类 变量 方法

    接触过Java的对面向对象应该是熟悉不过了, Objective-C也是面向对象的. 类 对象 变量 方法 Objective-c 中如何定义一个类? .h文件 #import <Foundat ...

  8. HttpSession之表单的重复提交 & 验证码

    如果采用 HttpServletResponse.sendRedirct() 方法将客户端重定向到成功页面,将不会出现重复提交问题 1.表单的重复提交 1). 重复提交的情况: ①. 在表单提交到一个 ...

  9. MVC案例之新增与修改Customer

    新增Customer 添加的流程Add New Customer 超链接连接到 newcustomer.jsp新建 newcustomer.jsp: 在 CustomerServlet 的 addCu ...

  10. 利用metasploit复现永恒之蓝

    环境 目标机器:windows 7 ,172.16.136.169 攻击机:安装了Metasploit 的 ubuntu16.04 ,172.16.136.130 (安装Metasploit:在 Ub ...