绍Struts的原理,但是大概介绍一下还是有必要的。Struts本身就是 MVC 在这里负责将用户数据传人业务层,以及 将业务层处理的结果返回给用户,此系统属于较简单WEB应用,采用了OpenSessionInView模式处理LazyLoad问题,这样我们可以在用户视图中使用 get,set方法来方便地获取关联对象。为了处理庞大的Action和ActionForm问题,在此我门准备使用DynaActionForm (DynaValidatorForm)和DispatchAction以及 动态验证框架 来解决。及使用Tile来解决框架问题 。使用自定义标签处理分页和身份验证问题。
2 Spring
Spring Framework最得以出名的是与Hibernate的无缝链接,虽然Spring 对Hibernate提供了90%以上的封装,使我们不必去关心Session 的建立,关闭,以及事务使我们能够专心的关注业务逻辑。但是一些特殊情况如 有时需要Query以及Criteria 对象,分页等,Spring不能给我们提供支持,总不能每次都在你的DAO上写个HibernateCallBackup()吧?Spring的作用不是把Hibernate再封装一层,而是让你接触不到Hibernate的API,而是帮助你管理好Session和Transaction。
在这里解决方法是:首先 写一个IBase 的接口,和一个BaseDao的实现。在实现中仿照HibernateTemplate,将其功能一一实现,同时考虑到Spring 未能支持的地方,我们不得已只好自己来管理Session,因此加入public Session openSession(),public Query getQuery(String sql),public Criteria getCriteria(Class clazz),以及分页的方法。 然后为每一个Entity 都建立继承于以上类的IEntity,与EntityDao。这里可以根据需求对Entity加入特殊的方法实现,如 在 StudentsDao.java 中加入类似用户身份验证等。以上就是数据访问层。接下来在Service层中通过对dao的引用完成业务逻辑方法。在下面的例子中我们分别为学生模块,教师模块,管理员模块构建Service层,StudentsServiceImpl,TeachersServiceImpl,AdminServiceImpl。
3 Hibernate
有了Spring的封装,我们要对Hibernate做的就是正确实现对象关系的映射。由于此处处于系统的最底层,准确无误的实现对象之间的关联关系映射将起着至关重要的作用。
总之,理解了Struts,Spring,Hibernate地原理以及之间的关系之后,剩下的工作就如同在以Spring为核心的Struts为表现的框架中堆积木。
struts是采用java?servlet/javaserver?pages技术,开发web应用程序的开放源码的framework。?采用struts能开发出基于mvc(model-view-controller)设计模式的应用构架。?struts有如下的主要功能:?一.包含一个controller?servlet,能将用户的请求发送到相应的action对象。?二.jsp自由tag库,并且在controller?servlet中提供关联支持,帮助开发员创建交互式表单应用。?三.提供了一系列实用对象:xml处理、通过java?reflection?apis自动处理javabeans属性、国际化的提示和消息。
spring是一个应用级框架,提供了ioc服务,可以整合不同的外部应用,同时,spring的aop提供了很
好的面向方面编程,例如,对事务的处理等。并且,spring推荐programming to interface方式,所
有的ioc服务尽量要求使用面向接口设计。
spring对各种服务提供强有力的支持。它可以用在很多方面,可以提高代码质量,提高对象的独
立性。对编码和项目以后的扩展
hibernate的作用简单的说就是在 数据库的外面包了一件面向对象的外衣
传统的数据库操作都是面向过程的 如 insert delete update 等操作
而在 hibernate 中这些操作都被封装到了对象中,使原本面向过程的数据库操作变成面向
对象编程 ,从而使j2ee的开发一气呵成,不会到数据库操作时又改为面向过程的不便。
所谓数据持久化就是使数据能够永久保存,这个概念就像计算机的内存和硬盘。 持久化就是
要把内存中的数据保存到硬盘上,即使计算机掉电也不会丢失。这只是持久化达到的一个目的
先前的作法是把这些数据保存到文件中(例如用流写到*.txt中)而现在流行的做法是保存到
数据库中,这样便于管理。
你这个问题可以答几万字估计也写不完,
其实既然是java无非继承多态和封装。具体实现多研究代码吧,在这讲也很抽象,最好的方法就是自己看多体会,比别人说有用。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....