转载自:http://www.admin10000.com/document/150.html

SSH 为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架。

Struts

Struts是一个基于Sun

J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一

年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message

resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个

非常不错的应用框架。

Spring

Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。

Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的

Inversion of

Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IOC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。

Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了

Hibernate和其他O/R

mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。

Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的

aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器

集成的强大而灵活的MVC Web框架。

Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思

维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命

意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

在SSH 的组合框架模式中,三者各自的作用

Struts 是一个很好的MVC框架,主要技术是Servlet和Jsp。Struts的MVC设计模式可以使我们的逻辑变得很清晰,让我们写的程序层次分明。

Spring 提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯,使我们的产品在最大程度上解耦。

Hibernate 是用来持久化数据的,提供了完全面向对象的数据库操作。Hibernate对JDBC进行了非常轻量级的封装,它使得与关系型数据库打交道变得非常轻松。

以下是SSH架构图:

SSH架构图

Struts负责Web层:

ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在Struts-config.xml中定义了,ActionServlet会加载进来。

Spring负责业务层管理,即Service:

Service为Action提供统一的调用接口,封装持久层的DAO,并集成Hibernate,Spring可对JavaBean和事物进行统一管理。

Hibernate负责持久层,完成数据库的CRUD操作:

Hibernate有一组hbm.xml文件和PO,是与数据库中的表相对应的,然后定义DAO,这些是与数据库打交道的类。

在Struts+Spring+Hibernate系统中,对象之间的调用流程如下:

Struts——>Spring——>Hibernate

JSP——>Action——>Service——>DAO——>Hibernate

java ssh架构_JAVA SSH 框架介绍(转)相关推荐

  1. Java服务提供_JAVA 服务提供者框架介绍

    服务提供者框架是指:多个服务提供者实现一个服务,系统为客户端提供多个实现,并把他们从多个实现中解耦出来.服务提供者的改变对它们的客户端是透明的,这样提供了更好的可扩展性.例如,JDBC,JMS等就是用 ...

  2. java集合框架介绍_Java集合框架介绍

    Java集合框架介绍 发布时间:2020-06-26 17:00:14 来源:亿速云 阅读:85 作者:Leah 这篇文章将为大家详细讲解有关Java集合框架介绍,文章内容质量较高,因此小编分享给大家 ...

  3. Java常用的5大框架介绍!

    作为常年霸榜的头牌编程语言,Java的火热程序已经毋庸置疑,Java框架在Java开发中的作用也是不可忽视.下面,小千给大家具体介绍一下Java常用的5大框架,希望对正在学习Java的人有所帮助. 1 ...

  4. java 建立ssh隧道_JAVA SSH框架搭建流程

    百度出来的,觉得思路很好: 搭建struts应用 2.1 引入需要的jar包 commons-fileupload-1.2.1.jar文件上传 commons-logging-1.0.4.jar日志包 ...

  5. java新闻网站制作_java+ssh+mysql新闻网站(制作精美)

    项目介绍: 本系统为基于jsp+mysql的新闻网站,页面精美,包含用户和管理员登录权限,功能如下: 用户:可以注册.登录本系统,首页可以查看所有新闻分类(体育.娱乐.文章.汽车.科技.健康.房产.家 ...

  6. java swing 架构_Java Swing1 基本框架

    package com.igswing.zmz; import javax.swing.JFrame; import javax.swing.JLabel; public class Swingone ...

  7. java web 拍卖系统_java SSH网上拍卖平台系统

    系统包括的主要内容 前台部分: (1)用户注册登录模块:用户信注册登录模块主要针对系统用户,核实用户信息,保证平台的安全性. (2) 拍品发布模块:发布拍品,修改拍品,拍品的分类,拍品拍卖倒计时的选择 ...

  8. Java 动态代理及 RPC 框架介绍

    所谓动态代理,指的是语言提供的一种语法,能够将对对象中不同方法的调用重定向到一个统一的处理函数中来. python重写__getattr__函数能够做到这一点,就连世界上最好的语言也提供称为魔术方法的 ...

  9. java netty 教程_Java NIO框架Netty教程(十六)

    该图是OneCoder通过阅读Netty源码,逐渐记录下来的.基本可以说明Netty服务的启动流程.这里在具体讲解一下. 首先说明,我们这次顺利的流程是基于NioSocketServer的.也就是基于 ...

  10. java自动化测试报告_Java自动化测试框架-10 - TestNG之测试结果篇(详细教程)

    1.-测试结果 1.1-成功,失败和断言 测试被认为是成功的,如果它不引发任何异常完成,还是它扔的预期异常(请参阅文档expectedExceptions属性上找到的@Test注释). 您的测试方法通 ...

最新文章

  1. PHP新手上路(六)
  2. Little Elephant and Shifts(CF-220C)
  3. 干货|基于深度学习的目标检测算法面试必备(RCNN~YOLOv5)
  4. rss 订阅实现-iOS版
  5. 开始把一些东西放到博客上
  6. 芯片老化验证流程_IC老化测试
  7. 经典曲线特征提取方法总结1
  8. 光感是什么_华强北airpods2洛达1536U-001到底升级了什么?
  9. NOIP模拟赛(洛谷11月月赛)
  10. java坦克大战 素材_坦克大战 游戏源码 素材 文档(了解面向对象的具体编程)
  11. 11种服务器编程语言对比(附游戏服务器框架) 2020.06
  12. 瑞星杀毒软件linux序列号,瑞星杀毒软件2007光盘零售版是面向 Linux的?
  13. QPSK、16QAM、64QAM信号的散点图、正交、同相分量波形图
  14. SpringBoot代理设置
  15. Windows10无法修改图标字体和菜单栏字体问题 —— regedit注册表修改
  16. tmux的安装及用法
  17. linux go vendor目录,golang使用govendor教程
  18. React高级(五)
  19. 【科技视野】微信小程序真的是App的终结者?
  20. 测试一下Pinia,Vuex 要出局了?

热门文章

  1. 数据分析和数据开发的区别
  2. Linux二进制保护(文末福利)
  3. 2018年最新北风网人工智能视频教程(完整版)
  4. (C语言)用C语言编写小游戏——扫雷
  5. python数据结构与算法 pdf_『python核心编程pdf』数据结构与算法 Python语言描述
  6. 为什么区块链世界既需要计算机科学家也需要经济学家?
  7. 《Word排版艺术》
  8. 计算机更新bios,小编教你如何升级bios
  9. 2021电工杯数学建模B题代码与思路(Python)
  10. 计算机控制面板没,没有nvidia控制面板,手把手教你电脑没有nvidia控制面板