- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ssh学习总结xixi
ssh学习总结1.???????? 典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。2.???????? 数据服务层:orcale;其数据服务层实现数据的存储。
3.???????? 中间层(业务逻辑层Spring+Hibernate):
中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。 Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。
Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。 由spring来负责!其目的就是通过编写接口配置applicationContext.xml实现ioc控制反转!控制反转就是让高层去调用底层,而不去关心我底层是怎么实现的(can or can not 而不是 how or why)。采用工场的模式也可以实现IOC,但需要编写大量的工场,每一个接口都需要对应一个工场。所以相当费时费力。
struts:
先来说说以前的开发的方式把!我shi根据STRUTS开发了自己的MVC框架,其实就是STRUTS的简化版本。主要功能就是页面的按钮的方法或者说事件方法和后台METHOD绑定,根据用户的业务请求触发的一系列操作。 大概的整个操作流就是:页面方法-SERVLET逻辑控制器通过取得的页面METHOD(也就是struts2的ACTION),对号入座,初始化对应的FORM,然后对提交数据进行封装-指定类的PUBLIC方法中执行一系列逻辑操作(解析FORM,封装业务DTO)-业务DAO中进行业务处理,然后持久化到数据库中。简化视图就是:JSP-FILTER-SERVLET容器-FORM-LOGIC-SERVICE-DAO. 个人感觉结构清晰明了。不知道其他大虾如何看!! 以前有稍微了解过SSH但是没有太深入,因为感觉SSH实在太复杂了。把简单的问题复杂化了。除了配置还是配置,继承还是继承,说实在的。让初学者来学的话,门槛真的有点高了。不知道大家对于开发框架有什么看法呢?看了几天有点晕,但是的确这些框架够OO,学到了不少东西。 说说开发吧!系统已启动一堆的DEBUG信息,太能生了(是不是该计划生育了呢?)。不得不把自己的LOG4J的级别调成INFO来开发(反正只是测试的项目)。由于还没有深入的使用还没有发现SPRING真正带来了那些好处,真的有必要SPRING吗?只知道大家都说他是IOC和AOP,针对是业务上的管理。再说说HIBERNATE给我一个比较好的感觉就是对象的增删查改还不错。如果其他具体的业务感觉不怎么地。发现很多人都SQL还是自己去拼装,似乎不是HIBERNATE所说的什么面向对象的持久化之类的,个人感觉还不如使用IBATIS呢? 还有发现SSH很多拦截器==之类的过滤操作,这些会不会太影响性能了呢?反正目前还是费解中。 大家是否觉得这些框架是否该减减肥了呢?
hibernate:
hibernate 通过数据对象化,并按照业务逻辑配置合适的级联关系,已经不仅仅是能很方便的对单个对象进行数据库操作,同时可以方便的获取级联对象和实体对象的保存。而实体对象和数据库的映射又是另外一层约束(业务是可以在这里加上字长,是否为空的一些简单约束),同时hsql基于对象的思想,这是hibernate在oo上的出色的亮点。 ??? 同时hibernate 拥有数据缓存,在一次数据会话中(一个session的生命周期)存在一个一级缓存,可以让业务操作在会话中获取缓存中的数据,而在session结束的时候再对数据库进行批量处理,这样减少了对数据的操作压力。 二级缓存是在单机服务器中加入ehcached的cache,cache的生命周期长期存在,可提供给单机多个数据库会话共享二级缓存,这样就可以在跨session的范围内减少了数据库的访问,但用于事务和session的绑定,导致这块的代码需要很好的详细涉及,并且有比较好的并发思考能力。在缓存上面已经有强人将 hibernate 二级缓存的实现替换成可作为cache服务器的memcached,这样可以支持多台服务器共享二级数据缓存(这个场景比较适合针对查询,如果有事务会引入太多的复杂度,一般这样的情况共享缓存,在事务上还是会首先选择垂直分布的方式来分摊事务)。(在减少数据库操作方面最牛的是oracle的产品内存集群数据库) ?
文档评论(0)