struts + Hibernate + Spring WEB框架

struts:负责显示层,是一个完美的MVC实现,它调用业务层完成运算逻辑,业务层再调用持久层完成数据库的读写。

Hibernate:创建一系列的持久化类,将每个类的属性与数据库表的属性一一对应。

Spring:依赖注射和控制反转。只要拿到一个实现了这个接口的类,就可以轻松的通过xml配置文件把实现类注射到调用接口的那个类里。所有类之间的这种依赖关系就完全通过配置文件的方式替代了。

Java Web应用程序架构:Struts负责显示层,Hibernate负责持久层,Spring负责中间的业务层。

另外,由于Spring使用的依赖注射以及AOP(面向方面编程),所以它的这种内部模式非常优秀,以至于Spring自己也实现了一个使用依赖注射的MVC框架,叫做Spring MVC,同时为了很好的处理事物,Spring集成了Hibernate,使事物管理从Hibernate的持久层提升到了业务层,使用更加方便和强大。

所谓的三层开发就是将系统的整个业务应用划分为“表示层-业务逻辑层-数据访问层”

1、Struts

Struts的控制文件struts-config.xml、Action和Action Servlet实现MVC的控制器,JavaBean或者EJB完成MVC的模型部分,JSP页面承担MV的视图组件,而且所有的控制逻辑都是有struts-config.xml配置文件来完成。

Struts2提供了丰富的拦截器实现

2、Hibernate

Hibernate是数据持久层的一个轻量级框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用

对象编程思维来操纵数据库。提供了查询获取数据的方法,用面向对象的思想来操作数据库,节省开发处理数据的时间。

在物理数据库之上利用一些配置文件如hibernate.cfg.xml、Action和Action文件、XML Mapping(映射文件)等来为应用系统

提供数据持久化方面的服务,同时达到将应用系统的持久层与不同的物理数据库系统相互隔离开的目的。

Hibernate的工作流程:

读取并解析配置文件;

Configuration负责读取并创建映射信息,创建session factory

SessionFactory负责创建session;

Transaction负责开启事务Transaction;

Query负责执行持久化操作;

Transaction负责提交事务;

关闭session和session factory;

Hibernate中提供了两级Cache,第一级别的缓存是Session级别缓存,它属于事务范围的缓存。由Hibernate管理,一般情况下无需进行干预。第二级别的缓存是Session Factory级别缓存,属于进程范围或群集范围的缓存。可以进行配置和更改,并可以动态加载和卸载。

3、Spring

Spring:核心容器提供Spring框架的基本功能。核心容器主要组件是Bean Factory,它是工厂模式的实现。Bean Factory 使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。控制反转即依赖注入是Spring的核心。对象间的某种依赖关系式由容器在运行期间注入调用者,控制程序间的关系的实现交给了外部容器来完成。

依赖注入存在2中实现方式:

1、设值注入即Set注入

2、构造注入

总结:

Struts 用于表示层,直接面向用户,响应用户的请求,为显示提供一个模型和一个控制器,并委派调用业务逻辑和其他上层处理等功能。

Spring 在事务管理和依赖注入方面的独特能力,实现处理应用程序的业务逻辑和业务校验,以及提供与其他层进行相互作用的接口等。

Hibernate 是ORM(对象关系映射) 的实现,利用它建立Java 对象模型的持久化对象,进而以面向对象的方式来方便地操作关系数据库。

这样Struts、Spring 和Hibernate 就能够很好地封装各个层次的程序,如在处理前台表示层时就不会把事务逻辑和持久化逻辑掺杂进来,从而最大限度地实现各层的高内聚低耦合目标。

时间: 2024-10-13 23:26:04

struts + Hibernate + Spring WEB框架的相关文章

详谈Struts+Hibernate+Spring三大框架

前言:对于JAVA WEB端的程序员来说,对JAVA三大框架:Struts+Hibernate+Spring的了解必不可缺,下面详细谈谈 Java三大框架主要用来做WEN应用. 三大框架:Struts+Hibernate+Spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作) Hibernate主要是数据持久化到数据库 一 .Struts框架:struts是开源软件. 使用Struts的目的是

Maven+Struts+Hibernate+Spring简单项目搭建

这段时间学习如何使用Maven+Struts+Hibernate+Spring注解方式建立项目,在这里感谢孙宇老师.    第一次写博客,主要是方便自己查看,同时分享给大家,希望对大家有所帮助,我也是刚入行的小菜鸟,可能有些地方不对,希望不对的地方,大家可以提出来,共同进步. 项目使用的工具是eclipse,数据库使用的是mysql,项目主要是用注解方式实现三大框架的整合. 首先使用maven建立项目,这里简单介绍一下. 第一步:右击new->other->Maven Project,如下图:

Struts+HIbernate+Spring

1.Struts 取代JSP中的控制功能,为系统添加独立的控制,采用Struts引入标签,实现JSP与后台JAVA代码的分离,JSP只负责显示,与struts.xml配合实现页面跳转 实现:接收请求,调用业务逻辑组件,返回HTTP响应 Struts中控制器由底层的一个FilterDispatcher(较老)负责实现,FilterDispatcher类负责接收用户的请求并最终转发用户的请求. 在web.xml中配置: <?xml version="1.0" encoding=&qu

Struts+Hibernate+Spring面试题合集及答案

Struts+Hibernate+Spring面试题合集及答案 Struts+Hibernate+Spring面试题合集 1 1. Hibernate部分 2 1.1. Hibernate工作原理 2 1.2. 什么是Hibernate的并发机制?怎么处理并发问题? 2 1.3. Hibernate自带的分页机制是什么?如果不使用Hibernate自带的分页,则采用什么方式分页? 3 1.4. hibernate的对象的三种持久化状态,并给出解释? 3 1.5. hibernate的三种状态之间

Struts+Hibernate+Spring实现用户登录功能

Struts+Hibernate+Spring实现用户登录功能 通过登录案例实现三大框架之间的整合,登录功能是任何系统和软件必不可少的一个模块,然而通过这个模块来认识这些复杂的框架技术,理解数据流向和整个设计思路是相当容易的.只有在掌握了这些小模块的应用后,才能轻松的去研究和设计出更有创意的,更加严密的系统. 本人通过学习,实现了这个小功能,现在将实现思想和过程总结如下.希望各位大神朋友多多审查,有什么不到位的地方,请通过邮件告诉我([email protected]),在此表示感谢:新手朋友,

Struts+Hibernate+Spring常见问题

http://wanglihu.iteye.com/blog/1897718 1.java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor缺少asm-3.3.jar2.java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor缺少asm-commons-3.3.jar3.java.lang.ClassNotFoundException: org.s

J2EE框架(Struts&amp;Hibernate&amp;Spring)的理解

SSH:Struts(表示层)+Spring(业务层)+Hibernate(持久层)Struts:Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求.在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发.(View:沿用JSP,HTTP,Form,Tag,Resourse :Controller:ActionServlet,struts-config.xml,Action)Hibernate:Hibernate是一个持久层框架,它只负责与关系数据库的操作

搭建第一个web项目:Struts+hibernate+spring配置(annotation)

Struts.xml的配置: 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4 "http://struts.apache.org/dtds/struts-2.0.dtd"> 5

springMVC 与 struts+hibernate+spring优缺点

springMVC: Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术.Velocity.Tiles.iText 和POI.Spring MVC 框架并不知道使用的视图,所以你可以自主的选择视图.Spring MVC 分离了控制器.模型对象.分派器以及处理程序对象的角色,这种分离让它们更容易进行定制.系统框架 springmvc mybatis Bootstrap html5 shiro maven SSM下载地址 struts+spr