SSH 篇(后台) 一、SSH 概述 1.1 SSH 的含义 当前J2EE 企业级应用分为三层:表现层-业务层-数据源层,而SSH 代表了每一层的具体实现,它是三种流行的开源框架的缩写,S-Struts,S-Spring,H-Hibernate。这三者的组合是当前J2EE 开发的标准模式,也代表了J2EE 正在朝着简化复杂性,轻量化方向发展,最新J2EE 6 已证明了这种趋势。 1.2 J2EE 开发模式的演变 J2EE 应用一直采用三层加构,即表现层-业务层-数据源层。 旧石器时代:J2EE 应用采用表现层-远程 EJB-实体EJB(或 JDBC),这是最为正宗也是最复杂的J2EE 开发,适用于银行等小部分项目;随后由于微软.NET 的兴起以及其对 J2EE 的挑战,正宗的J2EE 出现了一个变种:表现层-本地 EJB-Ibatis,在这种模型中业务层选择了本地 EJB,同时数据源层也改为Ibatis,这种模式极大的提高性能,华为大部分项目采用这种构架。在这两种架构中,由于采用了EJB 组件模型,从而依赖于 EJB 容器,而EJB 容器以一种全无或全有的方式提供服务,同时业务实现也受制于容器。这种开发模式导致了以下复杂性:依赖于应用服务器,不可移植,开发困难,无法在容器外测试,部署复杂,效率低下。 新石器时代:在新石器时代依然采用了三层加构,只是抛弃了EJB,而采用了Spring 等轻量级容器,同时持久化由全自动的Hibernate 承担。在这种架构中,由于放弃了EJB,放弃了全功能的应用服务器,在节省了软件许可费用的同时也大大提高了软件开发效率。由于w eb 服务器的可移植也好于应用服务器,从而使得 J2EE 应用可顺利移植。 1.3 SSH 与传统开发的比较 从上面所述可以看出传统 J2EE 开发和 SSH 开发的不同。简言之,传统 J2EE 开发采用EJB 组件在限制了业务实现的同时也极其复杂,只适用银行等一部分应用;SSH 不强制采用应用服务器,不限制业务实现,透明的持久化从而减化了开发的复杂度,提高了开发效率。 二 、Stru ts-WEB 层开发的标准 2.1 Stru ts 简介 Struts 是 Apache 软件基金会的一个开源项目。采用 Servlet/JSP 技术,实现了基于 J2EE Web 应用的 MVC 设计模式的应用框架,是 MVC 经典设计模式中的一个经典产品。使用标准的 JSP 以外,还提供了大量的标签库使用,同时也可以与其他表现层组件技术(产品)进行整合。Struts 出现之前 J2EE Web 层没有统一标准,各个公司都是自有框架,给从业者,企业带来了诸多不便。Struts 采用了...