`
count49
  • 浏览: 6964 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

SSH框架初探

 
阅读更多

原文链接

http://blog.csdn.net/abbuggy/article/details/6838440
   
       现在我们访问的大多数网页都是动态网页,这个动态是相对于互联网刚刚兴起的时候那些纯HTML的静态网页来说的。动态网页指那些由网站那边的服务器根据用户的请求动态生成的网页,静态网页与之相反其内容固定不变的。动态网页开发最根本的就是服务器端接收到浏览器提交的请求,通过一系列的程序操作最终生成一段完整的HTML文档,再交给浏览器显示的过程。
       最原始的编写动态网页的方法是使用servlet,其实就是把用户请求传递给一个java类,这个类负责分析请求中的内容然后用println输出一行行的HTML代码,交给浏览器显示。这种方法的确能够动态生成网页,不过有两个致命的问题不好解决。首先:HTML一直都是网页设计人员的法宝,他们能够设计出漂亮精美的页面,但是使用servlet开发的话,要用java语言输出这些文档,这使得设计人员还需要掌握java才成。其次,即使是java开发人员,使用println这种方式想把复杂的网页内容正确完整的输出就不是一件简单的事情,或者说,根本就是就是不可能的。
       后来,人们将思路转变了一下,于是JSP出现了,它允许将java代码嵌入到设计好的HTML页面中。解决了使用servlet开发动态页面遇到的那两个难题。对于网页设计人员来说在他们面前的仍然是他们所熟悉的HTML,只是扩展了部分特殊的标签以容纳业务逻辑代码。对于java程序员来说,也可以专心编写与业务逻辑相关的java代码。服务器会将JSP中的java代码自动转换为servlet,一定程度上减轻了开发人员的负担。但是这种实现方式将页面的显示逻辑和业务逻辑都混杂在JSP页面中,无论是前台页面还是后台逻辑哪一方发生修改,都需要另一方参与,反而增加了维护成本。
       之后,采用JSP+Servlet+Javabean的新模式实现了最基本的MVC分层,这种结构被称之为MVC Model1。有负责前台展示的 JSP、负责流程逻辑控制的Servlet以及负责数据封装的Javabean。是这种结构仍然存在问题:因为JSP页面中仍然需要使用符号嵌入很多的 Java代码,这致使页面结构混乱,Servlet和Javabean负责了大量的跳转和运算工作,耦合紧密,程序复用度低等等。这引起了人们对 JSP 页面内脚本元素的使用的广泛关注,这接着导致了人们进行替代解决方案的开发。
       JSP2.0规范推出增加了JSP标准标签库JSTL(JSP Standard Tag Library)。这是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。使得网页设计人员不需要向页面嵌入脚本即可实现基本的页面逻辑。
       MVC Model 2 中将Servlet 纳入架构中扮演前端Controller 角色,将Web 浏览器送出之请求集中送至Servlet ,Servlet 可集中管理使用者登入、权限控制、多国语言转换等前置处理,再视需求转向给对应之JSP 处理。Model 2 中采用了较佳之MVC 模式,但增加了编写复杂度。
       为了简化开发,Struts出现了。所以说,其目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。针对不同的业务,我们需要一个Action类负责页面跳转和后台逻辑运算,一个或几个JSP页面负责数据的输入和输出显示,还有一个 Form类负责传递Action和JSP中间的数据。JSP中可以使用Struts框架提供的一组标签,就像使用HTML标签一样简单,可以完成非常复杂的逻辑。在Struts里面,Action里面放置业务逻辑的代码,这些代码不可避免的要和数据库打交道比如从数据库中读取信息并把操作好的信息再存回数据库。但使用复杂的SQL语句进行读写、关闭连接,获得的数据又需要转换或封装后往外传,这是一个非常烦琐的过程。当项目大到一定程度的时候,需要把对数据库的维护独立出去。
       这时出现了 Hibernate框架,它需要你创建一系列的持久化类,每个类的属性都可以简单的看做和一张数据库表的属性一一对应,当然也可以实现关系数据库的各种表件关联的对应。当我们需要相关操作是,不用再关注数据库表。我们不用再去一行行的查询数据库,只需要持久化类就可以完成增删改查的功能。使我们的软件开发真正面向对象,而不是面向混乱的代码。我的感受是,使用Hibernate比JDBC方式减少了80%的编程量。
       现在我们有三个层了,可是每层之间的调用是怎样的呢?比如显示层的Struts需要调用一个业务类,就需要new一个业务类出来,然后使用;业务层需要调用持久层的类,也需要new一个持久层类出来用。通过这种new的方式互相调用就是软件开发中最糟糕设计的体现。简单的说,就是调用者依赖被调用者,它们之间形成了强耦合,如果我想在其他地方复用某个类,则这个类依赖的其他类也需要包含。程序就变得很混乱,每个类互相依赖互相调用,复用度极低。如果一个类做了修改,则依赖它的很多类都会受到牵连。 为此,出现Spring框架。
       Spring的作用就是完全解耦类之间的依赖关系,一个类如果要依赖什么,那就是一个接口。至于如何实现这个接口,这都不重要了。只要拿到一个实现了这个接口的类,就可以轻松的通过xml配置文件把实现类注射到调用接口的那个类里。所有类之间的这种依赖关系就完全通过配置文件的方式替代了。所以 Spring框架最核心的就是所谓的依赖注射和控制反转。
       Struts负责显示层,Hibernate负责持久层,Spring负责中间的业务层,这个结构是目前使用最广泛的Java Web应用程序架构了。

 

分享到:
评论

相关推荐

    ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架

    ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ...

    SSH框架搭建源码

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个压缩包文件"SSHdemo"提供了一个SSH框架搭建登录功能的示例,帮助开发者了解并实践如何整合这三个框架来构建一个...

    ssh框架 ssh框架 ssh框架 ssh框架 ssh框架 ssh框架 ssh框架 ssh框架

    ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ...

    Java SSH 框架整合,学习源码

    Java SSH 框架整合是Java开发中常见的一项技术,主要涉及Spring、Struts和Hibernate这三个开源框架。这些框架在企业级应用开发中扮演着重要角色,分别负责控制层、视图层和持久层的管理。下面将详细介绍SSH框架整合...

    ssh框架纯净版

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个“ssh框架纯净版”包含了这三个框架的基础组件和相关代码,旨在提供一个简洁、无多余依赖的开发环境。 1. **...

    eclipse插件生成ssh框架

    eclipse插件生成ssh框架和ssi框架

    SSH框架整合项目源码

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个项目源码提供了SSH整合的实践案例,特别适合初学者学习和理解Web应用的开发流程。 Struts2作为MVC(Model-View-...

    SSH框架JAR包集合

    SSH框架,全称为Spring、Struts和Hibernate,是Java Web开发中的一个经典组合,用于构建高效、可维护的Web应用程序。这些框架各自负责不同的职责,Spring作为基础架构框架,Struts处理视图与控制,Hibernate则专注于...

    ssh框架jar包整合

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大框架。这三大框架分别负责表现层、业务层和持久层的管理,为开发者提供了高效、灵活且可扩展的开发环境。在Java Web项目中,SSH框架的...

    毕业设计 基于SSH框架的系统

    【标题】"基于SSH框架的系统"是一种常见的企业级应用开发模式,SSH分别代表Spring、Struts和Hibernate三个开源框架的首字母缩写。Spring作为核心的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented ...

    SSH框架整合jar包

    SSH框架整合是Java Web开发中常见的一种技术栈组合,它由Spring、Struts2和Hibernate三个框架构成。这个"SSH框架整合jar包"是开发者为了方便项目构建,避免手动逐个添加和配置这三个框架所需的库文件而制作的集合。...

    ssh框架搭建及实例ssh框架

    ssh框架搭建及实例ssh框架 ssh框架搭建及实例ssh框架

    SSH框架搭建jar包

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架。它们分别负责表现层、业务层和服务层的管理,为开发者提供了强大的功能和灵活的架构。本压缩包提供了搭建SSH环境所需的核心...

    商贸项目SSH框架实现代码

    【SSH框架详解】 SSH框架是Java Web开发中的一个经典组合,由Spring、Struts和Hibernate三个开源框架集成,常用于构建企业级应用。这个“商贸项目SSH框架实现代码”提供了完整的源码,对于学习和理解SSH框架的工作...

    基于SSH框架的员工管理系统

    【SSH框架详解】 SSH框架,即Struts2、Spring和Hibernate的组合,是Java Web开发中常用的一种MVC(Model-View-Controller)架构模式。这个框架集合了三种技术的优势,为开发人员提供了高效、灵活的后端开发环境,...

    SSH框架搭建步骤

    SSH框架,全称为Spring、Struts和Hibernate的首字母缩写,是Java开发中的一个经典组合,用于构建企业级Web应用程序。Spring提供了依赖注入(DI)和面向切面编程(AOP),Struts则处理MVC(模型-视图-控制器)架构,...

    SSH框架的学习资料

    SSH框架是Java开发中常用的三大框架,包括Struts2、Spring和Hibernate,它们协同工作,为Web应用程序提供了模型-视图-控制器(MVC)架构的支持。这些框架各自有着独特的功能,结合使用能够极大地提高开发效率和代码...

    淘宝网站 ssh框架

    SSH框架在IT行业中指的是Spring、Struts和Hibernate这三个开源框架的组合,它们是Java Web开发中的常用工具。淘宝网站作为中国最大的电商平台,其后端架构很可能就采用了SSH框架来构建,以实现高效、稳定和可扩展的...

    ssh框架开发短信平台

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常用的一套集成框架。这个框架集合了MVC(Model-View-Controller)设计模式的Struts2,依赖注入和面向切面编程的Spring,以及持久层管理的...

    SSH框架实现的学生管理系统

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常用的一套集成框架。这个框架集合了Struts2的MVC设计模式、Spring的依赖注入(DI)和面向切面编程(AOP)以及Hibernate的对象关系映射(ORM),...

Global site tag (gtag.js) - Google Analytics