【SSH进阶之路】Struts + Spring + Hibernate 进阶开端(一)

MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(一) 1. 准备  工具:MyEclipse 5.1.0 GA、Tomcat 5.5环境:Struts1.1、Spring1.2、Hibernate3.1、sqlserver20001.1. 新建工程  本范例使用最简单的登录模块来实践SSH的开发,旨在体会和入门SSH技术的整合操作:[Menu] File/New/Web Project  工程名:login 2. Struts 阅读详情

  Long Long ago,就听说过SSH,起初还以为是一个东东,具体内容更是不详,总觉得高端大气上档次,经过学习之后才发现,不仅仅是高大上,更是低调奢华有内涵,经过一段时间的研究和学习SSH框架的基本原理与思想,总算接地气了。作为初学者,有点小小收获,想通过以博文的形式和大家一起分享,共同进步,在更新博文的过程中难免有认识不足的地方,还请各位大牛提出宝贵的建议,对于好的建议一定虚心接受,认真学习。

 

      这篇博文仅仅是SSH的开端简介,简单介绍一下SSH以及三种框架的整体概览,后面的博文会对各部分的内容一一进行详细的介绍,此系列博文会持续更新,也请大家关注我的博文。下面我们进入今天的正题:


什么是SSH


官方的说法:SSH是 struts+spring+hibernate的一个集成框架,是目前较流行的一种web应用程序开源框架。

 

个人的见解:SSH不是一个框架,而是把多个框架(Struts、Spring以及Hibernate)紧密的结合在一起,用于构建灵活、易于扩展的多层Web应用程序。


SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。

 

我们通过下面这张图说明一下,三种框架的关系以及所包含的内容,内容已经很详细了,在这里就不做过多的解释了。


                  


下面我们再详细看一下组成SSH的这三个框架。


Struts


1、什么是Struts?

 

      从简单性来看,Struts是这三个框架中最简单的一个,它是基于MVC的框架。它通过采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架,是MVC的一个具体实现或着说是MVC的一个具体产品。

 

2、Struts的核心构成

         

 

      Struts的核心同样也是MVC的核心,Struts是MVC的一个具体产品。

 

(1)Model

 

       由Action、ActionForm以及JavaBean组成,其中ActionForm用于将用户请求的参数,封装成为ActionForm对象,我们可以理解为实体,由ActionServlet转发给Action,Action处理用户请求,将处理结果返回到界面。

 

(2)View

 

       该部分采用JSP+大量的taglib,实现页面的渲染。

 

(3)Controller

 

       Controller是Struts的核心控制器,负责拦截用户请求,通过调用Model来实现处理用户请求的功能。

 

3、为什么使用Struts?


      使用Struts作为系统的整体基础架构,负责MVC的分离,将页面从业务逻辑分离出来,使用页面更加灵活多变,不会影响业务逻辑,简化了基于MVC的web应用程序的开发,因而使得开发更加高效。


Hibernate


1、什么是Hibernate?

 

      Hibernate是一个对象关系映射框架,它对JDBC进行了轻量级的封装,使得我们使用面向对象的思想操作关系型数据库。

 

2、Hibernate的核心构成

              

              

         

      这部分内容我们不做过多的解释,上面导图中的解释已经很简单明了了,如果还是不懂的话,可以上网查阅相关资料。


3、为什么使用Hibernate?


(1)Hibernate是JDBC的轻量级的对象封装,它使得与关系型数据库打交道变得更加轻松自如。

(2)对象化,它使得我们可以以面向对象的思想操作关系型数据库,简化了Dao层编码工作,使得开发更加对象化了。

(3)移植性更好,支持各种数据库,更换数据库异常简单,不需要改代码。

(4)实现了透明持久化,没有实现第三方框架或接口,没有侵入性,是一种轻量级框架。


Spring


1、什么是Spring?

 

      简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

 

2、Spring的核心构成

 

              


(1)IoC

 

       IoC就是IoC,不是什么技术,是一种设计模式。通过依赖注入的方式,由spring管理和控制对象之间的依赖关系,避免硬编码所造成的过度程序耦合。

 

(2)AoP

 

       通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。

 

(3)容器

 

       能管理对象的生命周期、对象与对象之间的依赖关系就是容器。


3、为什么使用Spring?


      没有Spring,Struts和Hibernate可以很好的运行,我称这样的模式为“独木桥”,但是有了Spring,Struts和Hibernate能够更好的结合在一起,协调的工作。我称这样的模式为“阳光大道”。Spring的核心思想是IoC和AOP,Spring使得管理对象更加方便,极大的降低组件之间的耦合度,实现了软件各层之间的解耦。Spring的优点还有很多,我们就不再累述了。


总结


      SSH不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离,耦合度降低,系统的灵活性更好,可复用性高。同时,框架为我们提供了一些基础性的服务,使我们的开发更加简单,大大提高开发效率。


下篇博客,我们介绍Struts的基本原理+简单的登录实例(附源码)

Struts+Spring+Hibernate框架概述 ssh框架概述(Struts+Spring+Hibernate) 立即下载

相关推荐

STM32F407 HAL库定时器触发ADC采集与DMA数据传输(定时器TIM+ADC+DMA)

在STM32F407系列微控制器的开发中,结合定时器、ADC(模数转换器)与DMA(直接存储器访问)控制器,能够显著提升数据采集与传输的效率。本文将指导你如何使用STM32 HAL库,通过定时器触发ADC1的单通道采集,利用DMA传输数据,最终通过串口将电压值打印出来。具体实现中,我们将读取ADC1的通道5(对应引脚PA5),并将转换得到的电压值发送到串口助手上进行显示。

jmlinux的博客 7012

三大框架理解

常听人提起三大框架,关于三大框架,我做了如下了解 :      三大框架: Struts+Hibernate+Spring  Java 三大框架主要用来做 WEN 应用。  Struts 主要负责表示层的显示  Spring 利用它的 IOC 和 AOP 来处理控制业务(负责对数据库的操作)  Hibernate 主要是数据持久化到数据库    再用 jsp 的 servlet 做网页

十年饮冰,难凉热血 1736

日前日内多阶段多时间尺度源荷储协调调度(matlab代码)

多阶段多时间尺度的协调调度的优势是考虑新能源出力的波 动性与随机性,需求响应负荷的不确定性会对电网制定的日前调度计划准确性造成影响,也就是能够更加精准的进行调度和分析,优化结果的可用性更强。在这方面论文里面,金力的《考虑特性分布的储能电站接入的电网多时间尺度源储荷协调调度策略》就考虑了日前日内实时三个阶段调度,每个阶段考虑了不同负荷需求响应策略,同时考虑了负荷波动性的影响,具有很强的参考意义。 目录 一、模型 二、程序运行 三、程序链接 一、模型 负荷需求响应考虑电价型和激励型两种,电.

zhangxd212489的博客 7915

SSH

 SSH 为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架。  [size=large][color=red]Struts[/color][/size]   Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷...

麒麟阁 376

TCNOpen实现TRDP通信协议(源码编译运行测试)

概述 本文介绍了通过TCNOpen开源源码实现TRDP通信,包括源码下载,开发环境搭建,编译运行,测试。 Linux环境下编译运行TRDP (一) 下载CANOpen源码。 下载地址:https://sourceforge.net/p/tcnopen/trdp/HEAD/tree/ (二) 源码编译 下载源码解压过后,在根目录文件readme-makefile.txt有介绍源码的配置和编译方法。 在trdp/config目录下可以看到包含在linux环境下的编译配置文件LINUX_config;执行”m

fengweibo112的博客 9632

Revit二次开发之双事件:空闲事件与DocumentChanged事件

对以下文章所展示的代码进行了修改,当前展示的代码可直接复制使用。 由于本人初学,下列语言为个人理解,如有错误请指正。   《引用1》中: 使用模态对话框,或者尽量保证事件在ExternalCommand的Execute函数或者ExternalApplication的OnStartup函数里面注册。 如果一定要使用非模态对话框,那么请使用ExternalEvent事件的Raise函数,强迫...

一个Revit二次开发的实习生 6147

Spring+Struts+Hibernate 简介

Struts2.0 +Hibernate 3.2 +Spring 2.0 一.        Struts 1.定义 它是使用 servlet 和 JavaServer Pages 技术的一种 Model-View-Controller 实现, 可帮助您控制 Web 项目

wcy8205的专栏 1179

开心消消乐

1)当点击一个1时,该1变被反转为0,同时相邻的上、下、左、右,以及左上、左下、右上、右下8个方向的1(如果存在1)均会自动反转为0;2)进一步地,一个位置上的1被反转为0时,与其相邻的8个方向的1(如果存在1)均会自动反转为0;上述样例中,四个角上的1均在中间的1的相邻8个方向上,因此只需要点击一次即可。给定一个N行M列的二维矩阵,矩阵中每个位置的数字取值为0或1。在上述4 * 4的矩阵中,只需要点击2次,即可将所有的1进行消除。接下来N行表示矩阵的初始值,每行均为M个数,取值范围[0,1]

面试高手的博客 2729

Struts+Spring+Hibernate整合入门详解

Java 5.0 Struts 2.0.9Spring 2.0.6Hibernate 3.2.4                                              作者:  Liu Liu 转载请注明出处基本概念和典型实用例子。一、基本概念       Str

doliu6的专栏 6185

基于Matlab的自动泊车系统开发:利用模糊控制实现智能停车解决方案的详细教程

Matlab是一种广泛应用于科学计算、工程建模与仿真的编程语言,其强大的工具箱和简洁的编程语法,使其成为开发自动泊车系统的理想选择。在开始编写代码之前,我们需要搭建Matlab的工作环境,并熟悉相关的工具箱,如Fuzzy Logic Toolbox,用于实现模糊控制。首先,确保你已经安装了Matlab软件,并加载了必要的工具箱。接下来,我们将逐步讲解如何在Matlab中实现自动泊车系统。

qq_38334677的博客 663

nvidia系列教程-AGX-Orin linux源码下载编译

NVIDIA AGX Orin 是一款高性能的嵌入式计算平台,广泛应用于人工智能、自动驾驶、机器人等领域。为 AGX Orin 编译定制的 Linux 内核,可以更好地适应特定应用需求,增强系统的灵活性。本文将详细介绍如何下载、配置和编译适用于 AGX Orin 的 Linux 内核源码。本文介绍了如何为 NVIDIA AGX Orin 平台下载、配置和编译定制的 Linux 内核源码。通过编译和部署定制内核,您可以更好地控制系统的行为,并根据特定应用需求进行优化。

flypig has a dream! 1283

SSH之IDEA2017整合Struts2+Spring+Hibernate

推荐大家使用maven解决依赖问题,可以省去手动解决依赖的问题,项目参考:链接 摘要 IDEA无疑是Java编程的利器,在下面我们将介绍如何使用IDEA来整合SSH(Struts2 + Spring + Hibernate);介绍將分为三个部分来讲,分别是新建工程,Spring引入并测试, Hibernate引入并测试,Struts2引入并测试; 下面使用的IDEA的版本是2017.1 以下...

kevin的专栏 3万+

YOLOv8改进 | 主干篇 | 轻量级的低照度图像增强网络IAT改进YOLOv8暗光检测(全网独家首发)

本文给大家带来的改进机制是轻量级的变换器模型:Illumination Adaptive Transformer (IAT),用于图像增强和曝光校正。其基本原理是通过分解图像信号处理器(ISP)管道到局部和全局图像组件,从而恢复在低光或过/欠曝光条件下的正常光照sRGB图像。具体来说,IAT使用注意力查询来表示和调整ISP相关参数,例如颜色校正、伽马校正。模型具有约90k参数和约0.004s的处理速度,能够在低光增强和曝光校正的基准数据集上持续实现优于最新技术(State-of-The-Art, SOTA)

Snu77的博客 7960
上一篇: SpringMVC框架
下一篇: java jdk动态代理详解
鹿晗的晗
博客等级 码龄16年 22粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值