论文部分内容阅读
随着JAVA的普及和流行,J2EE平台也在WEB开发中发挥着越来越大的作用。伴随其的各种新技术如雨后春笋般大量的涌出。为了更好的研究J2EE体系架构,本文采用了业界流行的Struts、Hibernate和Spring三种框架,实现了一个功能强大的高性能论坛社区,从而在实践中更深入的理解J2EE。
表现层是系统很重要的一层,采用MVC框架的杰出代表Struts来实现表现层,可以更清晰的把模型,控制器,视图分开,使页面更加简洁,便于后期的维护和升级。Struts的自定义标签十分有用,并能与Struts本身很好的融合,在实际应用中因该尽可能多用。本文改写了Struts的核心类ActionServlet,并将同一模块的多个Action整合到一个改写后的Action中,灵活的运用了Struts框架可扩展的特点。
持久层是在数据库和业务层中添加的一层。有了持久层,可以避免业务层直接和数据库打交道,增强了系统的灵活性和可移植性。本文使用Hibernate来实现持久层。Hibernate是一个十分优秀的ORM框架,用它来进行持久层的开发,可以减少持久层的工作量。据统计相同程度的工作,用Hibernate来实现比直接用JDBC来实现要减少30%的工作量。同时本文利用Hibernate的延迟加载功能提高了系统性能,并使用Hibernate的条件查询语句实现了一个通用性很强的分页方案。
Spring是用在业务层的框架。在本文实现的系统中所有的类都是由Spring的IoC容器管理的。这样做可以充分利用Spring依赖注入的特性,当修改类的属性时不用直接修改类的代码,而只用在配置文件里面进行简单的设置。
Spring的声明式事务管理功能也运用在了文章最后的系统中,通过在XML文件里面进行简单的配置,我们就可以获得强大的事务管理功能。
基于Spring的Acegi被用来实现权限管理功能。Acegi充分利用Spring的依赖注入特性,具有很强的可扩展性.
利用OSCache框架来实现系统的缓存功能,大大提高了系统性能。
Struts、Hibernate和Spring三种框架可谓各有千秋,各自都有自己的优点,同时也都有自己的不足,我们把它们整合在一起使用,可以更好的弥补它们各自的不足,使得它们的优点能够更加充分的发挥出来。