`
adparking
  • 浏览: 1200 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

学习SSH的阶段总结

阅读更多
  先来说说以前的开发的方式把!我司根据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很多拦截器==之类的过滤操作,这些会不会太影响性能了呢?反正目前还是费解中。
大家是否觉得这些框架是否该减减肥了呢?
分享到:
评论
4 楼 moshalanye 2009-02-15  
    hibernate 通过数据对象化,并按照业务逻辑配置合适的级联关系,已经不仅仅是能很方便的对单个对象进行数据库操作,同时可以方便的获取级联对象和实体对象的保存。而实体对象和数据库的映射又是另外一层约束(业务是可以在这里加上字长,是否为空的一些简单约束),同时hsql基于对象的思想,这是hibernate在oo上的出色的亮点。
    同时hibernate 拥有数据缓存,在一次数据会话中(一个session的生命周期)存在一个一级缓存,可以让业务操作在会话中获取缓存中的数据,而在session结束的时候再对数据库进行批量处理,这样减少了对数据的操作压力。 二级缓存是在单机服务器中加入ehcached的cache,cache的生命周期长期存在,可提供给单机多个数据库会话共享二级缓存,这样就可以在跨session的范围内减少了数据库的访问,但用于事务和session的绑定,导致这块的代码需要很好的详细涉及,并且有比较好的并发思考能力。在缓存上面已经有强人将 hibernate 二级缓存的实现替换成可作为cache服务器的memcached,这样可以支持多台服务器共享二级数据缓存(这个场景比较适合针对查询,如果有事务会引入太多的复杂度,一般这样的情况共享缓存,在事务上还是会首先选择垂直分布的方式来分摊事务)。(在减少数据库操作方面最牛的是oracle的产品内存集群数据库) 
    但 hibernate 在做复杂的业务查询的时候,由于会将对象其他属性也获取出来,得道较多的不需要的数据,虽然后来的hibernate在这个方面做了优化,但还是推荐用native sql 来做,没有事务时避开缓存和多余数据 是效率的保证。
    ibetis 使用起来十分简单,而且在sql上的配置具有更多的灵活性,并把sql区分模块集中,可以很大程度的分离关注点,(虽然hibernate 支持properties配置,但没有它灵活)
    
    Spring的 IOC 控制反转 如果是说在配置参数上提供了方便不用编译,那就太片面了。它强大的是factoryBean的factory的创建,将自己手动创建的过程交给了 context 来管理 factoryBean,通过依赖注入来初始化这些factoryBean,并由factoryBean来生产我们需要的对象。
  至于Spring 的AOP,AOP 是一个思想,很多的东西都使用了这个思想,而Spring 是提供了一些实现(例如支持事务的AOP,例如提供AOP基础代码,之需要我们指定目标对象,拦截的前增强操作,后增强操作和切入点),并做了一些我们会常用的 aop Templete类,使用这些现成的类会很大程度的减少我们自己的代码量,和提高代码的安全性,减少问题的出现范围。而理解事务和处理事务生命事务,解决资源绑定的代码并不是一个很容易的事情,使用现有的代码无疑是不重复发明轮子而又只需要花费少些了解API代价的上上之选。  


3 楼 houtingting 2009-02-13  
由于还没有深入的使用还没有发现SPRING真正带来了那些好处,真的有必要SPRING吗?只知道大家都说他是IOC和AOP,针对是业务上的管理。再说说HIBERNATE给我一个比较好的感觉就是对象的增删查改还不错

  我也有同样的感受,可能是现在还是在学习Spring的阶段,还没发现它的好处~~
2 楼 adparking 2008-10-24  
引用
Hibernate:理解面向对象思想,你就理解了Hibernate到底是干嘛的。至于很多人还是用的SQL查询那是他们不想用面向对象方法解决问题。

这个需要开发者或者设计者要有很好的面向对象的功力。估计我的功力还不够火候,所感觉与其把这些操作让HIBERNATE来做,还不如自己搞定,毕竟有比较强的可控性。
但是真的怀疑HIBERNATE能做到那么好吗?
有哪位大侠能说说自己对HIBERNATE的看法呢?
1 楼 风花雪月饼 2008-10-23  
方到用时才明了。
Spring IOC:假设你现在有个逻辑模块用来计算权值,现在你需要换一下,但是以前那个还得保留,比如原来计算是+1现在要+10。如果用了IOC,那么你只需要在Spring配置文件里讲实现类改一下即可。(不过通常用来讲述IOC好像用的例子是:你要换数据库操作方式吗?从Hibernate换成iBatis)

Spring AOP:可对方法拦截,比如,某些用户有权限使用这个方法吗?用AOP拦截吧。(不过通常用来讲述AOP的好像用的例子是:你要记录日志总不能在每个文件里都写吧?)

Hibernate:理解面向对象思想,你就理解了Hibernate到底是干嘛的。至于很多人还是用的SQL查询那是他们不想用面向对象方法解决问题。


呵呵,这是我的第一帖。
希望没有误导楼主。。。

相关推荐

    SSH学习笔记5 SSH学习笔记5

    这篇SSH学习笔记将深入探讨SSH的基础概念、工作原理、配置与应用。 一、SSH基础 1.1 SSH概述 SSH最初设计为替代不安全的Telnet协议,它通过加密所有传输的数据,包括用户名、密码等敏感信息,从而防止被窃听。SSH...

    SSH整合OA项目

    SSH整合OA项目是一种基于Spring、Struts和Hibernate这三个开源框架集成的企业级应用开发方案。SSH分别代表了Spring的...通过提供的数据库脚本和使用说明,开发者可以快速搭建和运行项目,了解和学习SSH框架的整合应用。

    SSH面试总结(非常全)

    ### SSH面试总结(非常全) #### Java面试宝典与SSH常问问题详解 在IT行业中,尤其是对于专注于Java开发的专业人士来说,掌握SSH框架(即Struts、...希望这份“SSH面试总结”能成为你在学习和职业道路上的有力助手。

    ssh框架图书馆管理系统

    总结来说,“ssh框架图书馆管理系统”是一个综合性的学习和实践平台,涵盖了SSH框架的使用、数据库设计、业务逻辑实现等多个方面,对于提高Java Web开发技能具有很高的价值。通过这个项目,开发者不仅可以掌握SSH...

    ssh2笔记,适合初学者复习和使用,总结的非常到位

    初学者可以通过这份笔记系统地学习SSH2,并通过实践来提升技能。 在实际工作中,熟悉SSH2不仅可以提高开发效率,还能提升系统的安全性。对于Java Web开发者来说,了解并掌握SSH2是必备的技能之一,因为它可以帮助你...

    毕业论文jsp250趣味英语学习系统(ssh).doc

    毕业论文《JSP250趣味英语学习系统(SSH)》探讨了一款基于Web的英语学习平台的开发与实现。该系统旨在利用信息技术提高英语学习的趣味性和效率,通过集成SSH(Struts、Spring、Hibernate)框架,提供一个用户友好的...

    基于SSH的BBS论坛系统

    【SSH框架详解】 SSH,全称为Struts2 + Spring + Hibernate...总结来说,基于SSH的BBS论坛系统利用了Java Web开发的强大框架,实现了高效、稳定且功能丰富的在线交流平台,适合初学者学习实践,也适用于实际项目开发。

    SSH2框架整合步骤

    ### SSH2框架整合步骤 #### 一、简介 在Java Web开发中,SSH2(Struts2 + ...此外,还需要注意的是,虽然本指南提供了一个基本的整合流程,但在实际开发过程中可能还会遇到各种问题,因此还需要不断学习和探索。

    基于java ssh的作业提交系统

    在本案例中,开发者首先确定项目题目,然后进行资料收集,包括参考书籍的学习。接下来,按照计划逐步编写代码,调试功能,直至系统稳定。最后,经过指导教师评审,根据反馈进行修改,完成论文撰写,提交毕业设计。 ...

    北大青鸟毕业设计项目SSH客户信息管理系统

    总结,北大青鸟的SSH客户信息管理系统项目不仅展示了Java开发的综合运用,还涵盖了数据库管理、企业级框架的实战应用以及客户关系管理的核心理念。通过此项目的学习,开发者可以提升在企业级应用开发中的实际操作...

    基于SSH的论坛系统设计与实现文档(itcastBBS)

    总结来说,"基于SSH的论坛系统设计与实现文档(itcastBBS)"详细介绍了如何利用SSH框架和UML工具,按照软件工程的方法论,设计并实现一个功能齐全、可扩展的论坛系统。这个过程不仅涵盖了技术知识,还体现了软件开发的...

    基于SSH和MySql的社团管理系统

    总结来说,基于SSH和MySql的社团管理系统是一个综合运用多种技术,实现学生社团日常管理的Web应用,它涵盖了用户认证、权限控制、数据持久化、前端展示等多个方面,为学生社团提供了一个便捷、安全的管理平台。

    毕业论文jsp1350计算机英语单词学习系统ssh.doc

    【计算机英语单词学习系统】是基于当前互联网技术发展背景下,为满足企业和个人对高效、集成化英语学习需求而设计的一款应用程序。系统通过采用先进的技术手段,如JAVA编程语言、SQL SERVER数据库以及TOMCAT服务器,...

    基于SSH的学生信息管理系统-实训个人工作总结.doc

    标题中的“基于SSH的学生信息管理系统-实训个人工作总结”是指在一个实训项目中,参与者使用SSH(Struts2 + Spring + Hibernate)框架开发了一款学生信息管理系统,并在此过程中进行了个人的工作总结。SSH是一个流行...

    ssh框架的基于jsp开发的新闻管理系统

    总结来说,这个"ssh框架的基于jsp开发的新闻管理系统"是一个集成了Spring、Struts和Hibernate的典型Java Web应用,涵盖了从数据库交互到用户界面展示的完整流程。通过PPT演示和提供的源代码,学习者可以深入理解SSH...

    ssh项目案例:JBOA办公自动化管理系统

    开发者可以通过阅读这些代码来学习SSH框架的使用方法,理解各组件间的交互逻辑,以及如何在实际项目中落地。 **6. 开发过程** 在开发JBOA系统时,通常会经历需求分析、系统设计、编码、测试、部署等阶段。在需求...

    迅为iTOP-4412开发板-实战教程-ssh服务器移植到arm开发板

    迅为iTOP-4412是一款基于ARM架构的开发板,广泛应用于嵌入式系统的学习与开发之中。在本教程中,我们将详细介绍如何将SSH服务器移植到该开发板上,实现Windows主机与开发板之间的文件传输以及远程控制功能。相比于...

    基于SSH的酒店网站管理系统源码.zip

    7. **学习资源**:学习SSH框架及酒店网站管理系统开发,可以通过官方文档、教程、开源项目代码等途径。例如,阅读Struts2、Spring、Hibernate的官方文档,参与开源社区的讨论,以及实践相关项目的开发,都可以提升...

Global site tag (gtag.js) - Google Analytics