一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定制化;并且有强大的用户社区来支持它。框架通 常能很好的解决一个问题。然而,你的应用是分层的,可能每一个层都需要各自的框架。仅仅解决UI问题并不意味着你能够很好的将业务逻辑和持久性逻辑和UI 组件很好的耦合。
典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。
表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。
中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。
Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。
Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。
DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。
PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。
Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。
采用Hibernate作为持久层技术的最大的好处在于:可以完全以面向对象的方式进行系统分析、系统设计。
DAO模式需要为每个DAO组件编写DAO接口,同时至少提供一个实现类,根据不同需要,可能有多个实现类。用Spring容器代替DAO工厂
通常情况下,引入接口就不可避免需要引入工厂来负责DAO组件的生成。Spring实现了两种基本模式:单态模式和工厂模式。而使用Spring可以完全避免使用工厂模式,因为Spring就是个功能非常强大的工厂。因此,完全可以让Spring充当DAO工厂。
由 Spring充当DAO工厂时,无须程序员自己实现工厂模式,只需要将DAO组件配置在Spring容器中,由 ApplicationContext负责管理DAO组件的创建即可。借助于Spring提供的依赖注入,其他组件甚至不用访问工厂,一样可以直接使用 DAO实例。
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面 导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少 开发自己的标记,或许Struts是一个很好的起点。
Java SSH框架中常用jar包的作用3
Ant的一个辅助包。
c3p0.jar: C3PO是一个数据库连接池,Hibernate可以配置为使用C3PO连接池。如果你准备用这个连接池,就 需要这个jar包。
proxool.jar: 也是一个连接池,同上。
commons-pool.jar, commons-dbcp.jar: DBCP数据库连接池,Apache的Jakarta组织开发的,Tomcat4的连接池也是DBCP。 实际上Hibernate自己也实现了一个非常非常简单的数据库连接池,加上上面3个,你实际上可以在Hibernate上选择4种不同的数据库连接池, 选择哪一个看个人的偏好,不过DBCP可能更通用一些。另外强调一点,如果在EJB中使用Hibernate,一定要用App Server的连接池,不要用以上4种连接池,否则容器管理事务不起作用。
connector.jar: :Java Connector Arichitecture JCA 规范,如果你在App Server上把Hibernate配置为Connector的话,就需要这个jar。不过实际 上一般App Server肯定会带上这个包,所以实际上是多余的包。
jaas.jar: Java Authentication and Authorization Service JAAS是用来进行权限验证的,已经包含在JDK1.4里面了。所以实际上是多余的包。
jcs.jar: Java Caching System 如果你准备在Hibernate中使用JCS的话,那么必须包括它,否则就不用。
jdbc2_0-stdext.jar: JDBC2.0的扩展包,一般来说数据库连接池会用上它。不过App Server都会带上,所以也是多余的 。
jta.jar: Java Transaction API JTA规范,当Hibernate使用JTA的时候需要,不过App Server都会带上,所以也是多余的。
junit.jar: Junit包,当你运行Hibernate自带的测试代码的时候需要,否则就不用。
xalan.jar, xerces.jar, xml-apis.jar: Xerces是XML解析器,Xalan是格式化器,xml-apis实际上是JAXP。一般App Server都会带上,JDK1.4也包含了解析器,不过不是Xerces,是Crimson,效率比较差,不过Hibernate用XML只不过是读取 配置文件,性能没什么紧要的,所以也是多余的。
-------------------------------------------------------------------
Struts antlr.jar ANTLR(ANother Tool for Language Recognition)它是这样的一种工具,它可以接受词文法语言描述,并能产生识别这些语言的语句的程序。
commons-beanutils.jar Commons-Beanutils 这个是jakarta commons项目中的一个子项目。这个项目开发的目的是帮助开发者动态的获取/设值Java Bean的属性,同时解决每次都要写getXXX和setXXX的麻烦。 commons-digester.jar Digester本来仅仅是Jakarta Struts中的一个工具,用于处理struts-config.xml配置文件。显然,将XML文件转换成相应的Java对象是一项很通用的功能,这个 工具理应具有更广泛的用途,所以很快它就在Jakarta Commons项目(用于提供可重用的Java组件库)中有了一席之地。 在内部, Struts 使用来自于Jakarta Commons[ASF, Commons] 项目的Digester 来解析Struts配置文件。Digester 使用struts-config DTD 来校验文档的格式,并且创建文档所描述的Java对象。如果XML文件包含了非正式文档化的元素,或者以非正式文档化的方式使用了元素, Digester 将不会处理这个文件。
commons-fileupload.jar Commons-FileUpload FileUpload 使得在你可以在应用和Servlet中容易的加入强大和高性能的文件上传能力 struts中上传文件要用到 struts的验证框架依赖以下的两个包 commons-validator.jar (校验方法)和校验规则。支持校验规则的和错误消息的国际化。 struts使用它对表单进行验证
jakarta-oro.jar Commons-EL Commons-Jexl Search Jakarta ORO Jakarta ORO一套文本处理工具,能提供perl5.0兼容的正则表达式,AWK-like正则表达式, glob表达式。还提供替换,分割,文件名过虑等功能. struts.jar 不用说,是struts核心包
相关推荐
本俱乐部CRM系统用流行的三大框架实现,实现了登录密码MD5加密,附件上传下载,发送邮件等功能。是俱乐部管理信息化不可缺少的系统。本系统是本人毕业论文,使用请注明出处。 本系统用MyEclipse+Mysql实现,jsp实现...
关于java的一些视频和源代码,注意是一些项目的源代码好似我自己写的
编程语言JAVASSH框架简介.pdf
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端...
JAVA笔试题大全+SSH框架,希望对您日后的面试有帮助!
集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离...
导入后可解跑程序,把sql导入到数据库中,就可以了,java的ssh框架,比较实用
三大框架整合开发案例,最适合初学者。对一个发布系统的优化及增删改查
JAVA源码 jsp源代码程序 代码 SSH框架 easyui 进销存管理系统
Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大...
java的ssh框架,下载后导入,把sql导入到数据库后,程序是可以跑起来的
Java基于jsp的校园通讯录的实现ssh框架.zipJava基于jsp的校园通讯录的实现ssh框架.zipJava基于jsp的校园通讯录的实现ssh框架.zipJava基于jsp的校园通讯录的实现ssh框架.zipJava基于jsp的校园通讯录的实现ssh框架.zip...
SSH框架分页,使用的是strute hibernate Spring开发,实现了网页加载时的分页效果,适合SSH初学者,程序如有不足的的地方,可留言说明,谢谢!
基于SSH框架的Java语言在线考试系统,该系统主有管理员,教师,学生三类用户,实现的考试题型有:选择,填空,读程序写结果三类题型。配置文件和数据库文件都有,可以配置并运行。
JAVA SSH 购物车 小程序源码part2 strtuts2 + spring + hibernate 希望对你有帮助
JSP SSH 电子政务管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助(SSH框架),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 二、功能介绍 (1)权限管理:对权限信息进行添加、...
Java基于jsp的网络聊天室的实现ssh框架.zipJava基于jsp的网络聊天室的实现ssh框架.zipJava基于jsp的网络聊天室的实现ssh框架.zipJava基于jsp的网络聊天室的实现ssh框架.zipJava基于jsp的网络聊天室的实现ssh框架.zip...
根据别人的毕业设计MVC的,自己写的SSH模式的 超市账单账单管理系统
struts2.0 eclipse 3.5 oracle 11g 自己做练习时用的架构
特别适合初学者 PPT教程非常详细 包括JDK安装配置 TOMCAT安装配置 MyEclipse运行环境搭建 数据库使用的是MySQL SSH框架的搭建 一步一步教你做!