ssh框架

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

定义

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

  集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务层用Spring支持。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring完成业务逻辑。
  系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
  采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。

框架结构

  Struts对Model,View和Controller都提供了对应的组件。
  在右图中,ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。
  Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。

Model部分

  由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。
  JavaBean则封装了底层的业务逻辑,包括数据库访问等。

View部分

  该部分采用JSP(或HTML、PHP……)实现。
  Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。

Controller组件

  Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。
  系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。
  业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。

Spring

  Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
  目的:解决企业应用开发的复杂性
  功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
  范围:任何Java应用
  简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
  轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
  控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
  面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
  容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
  框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
  所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。

Hibernate

  Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
  Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。
  ·Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。
  ·SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
  ·Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
  ·Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
  ·Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
SSH框架入门 一、SSH框架简介          SSHstruts+spring+hibernate一个集成框架,目前较流行一种Web应用程序开源框架。           SSH分为SSH1和SSH2,区别主要在于Struts的版本,即Struts1和Struts2;SSH2相比SSH1的不同就是前者使用了更方便、更安全的MVC框架Struts2.   Struts2是优秀的MV 阅读详情

相关推荐

Java SSH框架学习

Java SSH框架学习

私信可回答各种问题~ 1764

SSHstruts+spring搜索+hibernate一个集成框架

SSHstruts+spring搜索+hibernate一个集成框架,是目前较流行一种Web应用程序开源框架集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hib...

dhhccsb16357的博客 532

SSH框架整合实战

本文还有配套的精品资源,点击获取 简介:SSH整合将Struts2、SpringHibernate三大框架集成,构建MVC架构的Java Web应用。本课程设计项目提供完整的整合流程实战,涵盖环境配置、Struts2、SpringHibernate的配置和整合,以及MVC模式的代码编写。通过本项目,学生将掌握SSH框架的应用,提升Web开发技能,为企业级应用开发奠定基础...

weixin_36364707的博客 1112

ssh框架前台弹出警告框

直接上代码: action类实现下面的这个接口: public class UserAdminAction extends ActionSupport implements ModelDriven, ServletResponseAware { private HttpServletRequest request = null; private HttpServletResponse respon...

LOVE Gui! 1043

SSH框架查询组合列返回Vo

String sqls="select a.userCode,a.userName from student a where a.usercode='11111' "; try { SQLQuery querys =this.getSession().createSQLQuery(sqls); //返回集合 List<StudentVo> students= querys.setResultTransformer(Transformers.alia.

心寒的博客 405

SSH框架搭建和整合(struts2、spring4、hibernate5)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33991418的博客 352

SSHstrutsstruts2、 WebWork 、SpringHibernate

1、SSHstruts+spring+hibernate一个集成框架,是目前较流行一种Web应用程序开源框架集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibern

singerlio 655

SSH框架的详细介绍

什么是SSH框架SSHstruts+spring+hibernate一个集成框架,是16年之前较为流行一种Web应用程序开源框架 集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理strutshibernate

胡麻油 1万+

SSH框架总结

传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的 JSP、负责流程逻辑控制的Servlet以及负责数据封装的Javabean。但是这种结构仍然存在问题:如JSP页面中需要使用符号嵌入很多的 Java代码,造成页面结构混乱,Servlet和Javabean负责了大量的跳转和运算工作,耦合紧密...

咕咕怪的博客 5288

简述SSM框架SSH框架

简述SSM框架SSH框架 一. 简介SSM框架 SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架Spring   Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称...

青澜饮舟的博客 1万+

java系列:什么是SSH?什么是SSM?SSH框架和SSM框架的区别

什么是SSH?什么是SSM?SSH框架和SSM框架的区别

weixin_54626591的博客 5225

什么是SSH?什么是SSM?SSH框架和SSM框架的区别

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考StrutsSpringHibernate ,简称SSH。在10多年前,SSH绝对是业内最流行的企业级开发框架StrutsHibernate目前来看,已经比较陈旧,而且也是比较重的框架,企业中目前已经很少用了。一些二三线小公司或者一线城市中的老旧项目,可能还在用这两种框架,新项目基本不会再采用这两个框架了。

sunzixiao的博客 989

SSH框架简介

什么是SSH? SSH是JavaEE中三种框架(Struts+Spring+Hibernate)的集成框架,是目前比较流行一种Java Web开源框架。 学习SSH方法 ? JavaEE学习就从最通用的MVC框架Struts开始学习,然后到Hibernate,最后是Spring。 对于Struts来说,Struts1和Struts2区别较大。还是把最原始的东西多看一下,对我们程序员来说可...

Lamitry的博客 3万+

SSH框架

SSH框架strutshibernatespring三大框架的整合。 1、strutshibernate的整合:即将struts中的model层交由hibernate处理。 2、springhibernate的整合:使dao继承HibernateTemple类(此类提供了setSessionFactory,使得spring在获取dao时,可注入sessionfactory) 3、spri...

qq_33813721的博客 314

SSH框架学习

什么是ssh框架Ssh框架其实是Struts+Spring+Hibernate三个框架的整合。是一套轻量级的开发框架集成ssh框架的系统,从职责上分为:表示层、业务逻辑层、数据持久层和域模块层。 组成和作用:        Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,...

小花生编程 2949

【基于SSH框架的个人博客系统01】Eclipse搭建SSH框架详细流程

Eclipse搭建SSH框架搭建教程  注意:本项目为博主初学Web开发时所写,所使用的方法都比较笨,不符合主流开发方法。例如,包管理应该使用Maven进行管理而不是手动导入,对前端后端代码的架构也并不是很清晰。大家学习思想即可,可以不用浪费时间在将这个项目跑起来。目前主流的技术应当是Spring+SpringMVC+Mybatis的SSM框架,配合Shiro做权限控制,Redis做缓存,也可...

Mankind的博客 9983
上一篇: j2ee开发中的“java容器”和“web容器”有什么区别?
下一篇: 数据库连接池
zi_jun
博客等级 码龄18年 109粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值