2022年ssh学习总结 .pdf

上传人:Che****ry 文档编号:35293692 上传时间:2022-08-21 格式:PDF 页数:3 大小:37.75KB
返回 下载 相关 举报
2022年ssh学习总结 .pdf_第1页
第1页 / 共3页
2022年ssh学习总结 .pdf_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《2022年ssh学习总结 .pdf》由会员分享,可在线阅读,更多相关《2022年ssh学习总结 .pdf(3页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、ssh 学习总结2009-03-21 17:37 1. 典型的 J2EE三层结构, 分为表现层、 中间层(业务逻辑层) 和数据服务层。层体系将业务规则、 数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互, 而是通过组件与中间层建立连接,再由中间层与数据库交互。2. 数据服务层: orcale ;其数据服务层实现数据的存储。3. 中间层(业务逻辑层Spring+Hibernate):中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。 Web层,就是 MVC 模式里面的“ C ”( controller),负责控制业务逻辑层与表

2、现层的交互,调用业务逻辑层, 并将业务数据返回给表现层作组织表现,该系统的MVC 框架采用 Struts 。Service 层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO 层为基础,通过对 DAO 组件的正面模式包装,完成系统所要求的业务逻辑。由 spring来负责!其目的就是通过编写接口配置applicationContext.xml实现 ioc 控制反转! 控制反转就是让高层去调用底层, 而不去关心我底层是怎么实现的 (can or can not 而不是 how or why )。采用工场的模式也可以实现IOC,但需要编写大量的工场,每一个接口都需要对应一个工场。所以相当费时

3、费力。struts :先来说说以前的开发的方式把!我shi 根据 STRUTS 开发了自己的 MVC 框架,其实就是 STRUTS 的简化版本。主要功能就是页面的按钮的方法或者说事件方法和后台 METHOD 绑定, 根据用户的业务请求触发的一系列操作。大概的整个操作流就是:页面方法-SERVLET 逻辑控制器通过取得的页面METHOD(也就是 struts2的 ACTION) ,对号入座 , 初始化对应的 FORM ,然后对提交数据进行封装 -指定类的 PUBLIC方法中执行一系列逻辑操作(解析FORM ,封装业务 DTO )-业务 DAO 中进行业务处理,然后持久化到数据库中。简化视图就是:

4、JSP-FILTER-SERVLET 容器-FORM-LOGIC-SERVICE-DAO. 个人感觉结构清晰明了。不知道其他大虾如何看!以前有稍微了解过SSH但是没有太深入, 因为感觉 SSH实在太复杂了。 把简单的问题复杂化了。 除了配置还是配置, 继承还是继承, 说实在的。 让初学者来学的话,门槛真的有点高了。 不知道大家对于开发框架有什么看法呢?看了几天有点晕,但是的确这些框架够OO ,学到了不少东西。说说开发吧!系统已启动一堆的DEBUG 信息,太能生了(是不是该计划生育了呢?)。 不得不把自己的 LOG4J 的级别调成 INFO来开发 (反正只是测试的项目) 。由于还没有深入的使用还

5、没有发现SPRING 真正带来了那些好处,真的有必要SPRING 吗?只知道大家都说他是IOC和 AOP ,针对是业务上的管理。再说说HIBERNATE 给我一个比较好的感觉就是对象的增删查改还不错。如果其他具体的业务感觉不怎么地。发现很多人都SQL还是自己去拼装,似乎不是HIBERNATE所说的什么面向对象的持久化之类的,个人感觉还不如使用IBATIS 呢?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - 还有发现 SSH很多拦

6、截器 =之类的过滤操作,这些会不会太影响性能了呢?反正目前还是费解中。大家是否觉得这些框架是否该减减肥了呢?hibernate :hibernate 通过数据对象化, 并按照业务逻辑配置合适的级联关系,已经不仅仅是能很方便的对单个对象进行数据库操作,同时可以方便的获取级联对象和实体对象的保存。 而实体对象和数据库的映射又是另外一层约束(业务是可以在这里加上字长,是否为空的一些简单约束),同时hsql 基于对象的思想,这是hibernate在 oo 上的出色的亮点。同时 hibernate 拥有数据缓存,在一次数据会话中(一个session 的生命周期)存在一个一级缓存,可以让业务操作在会话中获

7、取缓存中的数据,而在session 结束的时候再对数据库进行批量处理,这样减少了对数据的操作压力。二级缓存是在单机服务器中加入ehcached的 cache, cache的生命周期长期存在,可提供给单机多个数据库会话共享二级缓存,这样就可以在跨 session 的范围内减少了数据库的访问, 但用于事务和 session 的绑定,导致这块的代码需要很好的详细涉及,并且有比较好的并发思考能力。在缓存上面已经有强人将hibernate 二级缓存的实现替换成可作为cache 服务器的 memcached ,这样可以支持多台服务器共享二级数据缓存(这个场景比较适合针对查询,如果有事务会引入太多的复杂度,

8、 一般这样的情况共享缓存, 在事务上还是会首先选择垂直分布的方式来分摊事务)。(在减少数据库操作方面最牛的是oracle 的产品内存集群数据库)但 hibernate 在做复杂的业务查询的时候,由于会将对象其他属性也获取出来,得道较多的不需要的数据,虽然后来的hibernate在这个方面做了优化,但还是推荐用 native sql 来做,没有事务时避开缓存和多余数据是效率的保证。 ibetis 使用起来十分简单,而且在sql 上的配置具有更多的灵活性,并把sql 区分模块集中,可以很大程度的分离关注点,(虽然hibernate 支持properties配置,但没有它灵活) Spring的控制反

9、转如果是说在配置参数上提供了方便不用编译,那就太片面了。 它强大的是 factoryBean的的创建, 将自己手动创建的过程交给了context 来管理 factoryBean,通过依赖注入来初始化这些factoryBean ,并由 factoryBean来生产我们需要的对象。至于的 AOP ,AOP 是一个思想,很多的东西都使用了这个思想,而 Spring 是提供了一些实现(例如支持事务的AOP ,例如提供 AOP 基础代码,之需要我们指定目标对象,拦截的前增强操作,后增强操作和切入点),并做了一些我们会常用的 aop Templete 类,使用这些现成的类会很大程度的减少我们自己的代码量,

10、 和提高代码的安全性, 减少问题的出现范围。 而理解事务和处理事务生命事务, 解决资源绑定的代码并不是一个很容易的事情,使用现有的代码无疑是不重复发明轮子而又只需要花费少些了解API 代价的上上之选。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - spring :方到用时才明了。Spring IOC:假设你现在有个逻辑模块用来计算权值,现在你需要换一下,但是以前那个还得保留,比如原来计算是+1 现在要 +10。如果用了 IOC,

11、那么你只需要在 Spring 配置文件里讲实现类改一下即可。(不过通常用来讲述IOC好像用的例子是:你要换数据库操作方式吗?从Hibernate 换成 iBatis )Spring AOP:可对方法拦截,比如,某些用户有权限使用这个方法吗?用AOP拦截吧。(不过通常用来讲述AOP 的好像用的例子是: 你要记录日志总不能在每个文件里都写吧?)Hibernate :理解面向对象思想,你就理解了Hibernate 到底是干嘛的。至于很多人还是用的 SQL查询那是他们不想用面向对象方法解决问题。Struts 、spring 、Hibernate 在各层的作用1)struts 负责 web 层. Act

12、ionFormBean 接收网页中表单提交的数据,然后通过Action 进行处理,再Forward 到对应的网页。在 struts-config.xml中定义 , ActionServlet会加载。2)spring 负责业务层管理,即Service (或 Manager). 1 service为 action 提供统计的调用接口,封装持久层的DAO ,。2可以写一些自己的业务方法。3统一的 javabean 管理方法4声明式事务管理5. 集成 Hiberante 3)Hiberante ,负责持久化层,完成数据库的crud 操作hibernate 为持久层,提供 OR/Mapping。它有一组

13、 .hbm.xml 文件和 POJO,是跟数据库中的表相对应的。然后定义DAO ,这些是跟数据库打交道的类,它们会使用PO 。在 struts+spring+hibernate的系统中,对象的调用流程是: jsp- Action Service -DAO -Hibernate。数据的流向是 ActionFormBean 接受用户的数据, Action 将数据从ActionFromBean 中取出,封装成 VO或 PO, 再调用业务层的Bean类,完成各种业务处理后再 forward 。而业务层 Bean收到这个 PO对象之后,会调用 DAO 接口方法,进行持久化操作。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com