ssh框架什么是SSH框架

ssh框架  时间:2021-09-15  阅读:()

什么是SSH框架?

集成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组件请求的数据,并返回处理结果。

  采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。

这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。

而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。

如何快速上手SSH框架?

给你一些建议吧,我也是刚培训完,在一家公司实习,明年才转正,首先你要有Java基础,你可以看看魔乐科技的视频和资料,比如java,jsp,servlet,然后你可以买本框架的书,给你推荐《企业应用构架设计--Struts 2+Hibernate 3+Spring 2》,我们都是用的这本,很详细,看完后你可以在下点框架的视频看看,要找到这本书的源码详细研究一下,应该没多大问题了,希望能对你有用。

SSH框架流程是怎样的,要具体点的,不要大概、、、

struts用于接受请求 1)客户端初始化一个指向servlet容器的请求 2)请求经过一系列的过滤器(ActionContextCleanUp用来清除ac) 3)FilterDispatch被调用,去查询ActionMapper来确定是否去调用某个action 4)如果要调用某个action, filterdispatch将该请求交给Action Proxy 5)Action Proxy通过 Configuration Manager 找到需要调用的Action 6)Action Proxy创建ActionInvocation对象副本 7)ActionInvocation回调action的execute方法 8)ActionInvocation根据返回的字符串找到result。

然后将result通过HttpServletResponse返回给服务器 而spring则负责控制对象的创建 在ssh框架中都所以的对象创建都由spring负责 最后hibernate负责持久层 也就是与数据库的交互

什么是SSH框架

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

  集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。

其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务层用Spring支持。

具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data ess Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring完成业务逻辑。

  系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。

在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。

而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。

  采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。

这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。

而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。

编辑本段框架结构Strut  Struts对Model,View和Controller都提供了对应的组件。

  ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。

  Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。

  Model部分:   由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。

  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语句两种表达方式。

10gbiz首月半价月付2.36美元,香港/洛杉矶VPS、硅谷独立服务器/站群服务器

收到10gbiz发来的7月份优惠方案,中国香港、美国洛杉矶机房VPS主机4折优惠码,优惠后洛杉矶VPS月付2.36美元起,香港VPS月付2.75美元起。这是一家2020年成立的主机商,提供的产品包括独立服务器租用和VPS主机等,数据中心在美国洛杉矶、圣何塞和中国香港。商家VPS主机基于KVM架构,支持使用PayPal或者支付宝付款。洛杉矶VPS架构CPU内存硬盘带宽系统价格单核512MB10GB1...

麻花云-香港CN2云服务器,安徽BGP线路,安徽移动大带宽!全系6折!

一、麻花云官网点击直达麻花云官方网站二、活动方案优惠码:专属优惠码:F1B07B 享受85折优惠。点击访问活动链接最新活动 :五一狂欢 惠战到底 香港云主机 1.9折起香港特价体验云主机CN2 云服务器最新上线KVM架构,,默认40G SSD,+10G自带一个IPv4,免费10Gbps防御,CPU内存带宽价格购买1核1G1M19元首月链接2核2G 2M92元/3个月链接2核4G3M112元/3个月...

raksmart:全新cloud云服务器系列测评,告诉你raksmart新产品效果好不好

2021年6月底,raksmart开发出来的新产品“cloud-云服务器”正式上线对外售卖,当前只有美国硅谷机房(或许以后会有其他数据中心加入)可供选择。或许你会问raksmart云服务器怎么样啊、raksm云服务器好不好、网络速度快不好之类的废话(不实测的话),本着主机测评趟雷、大家受益的原则,先开一个给大家测评一下!官方网站:https://www.raksmart.com云服务器的说明:底层...

ssh框架为你推荐
项目质量管理项目质量管理的名词解释anychartjfreechar制作柱状图的时候。由于柱子之间的差距太大。有些柱子才个位有上千导致了Y轴数据太密集。求小项目如何搞小工程活跃网络十大网络家族排行榜详情快照优化如何优化百度快照t320在网上买的三星平板T320,怎么检查是不是正品行货?硬盘分区格式化硬盘分区、格式化的主要步骤code查询手机CODE查询soap是什么意思捡肥皂是什么意思啊?无恶意,就好奇乐辞乐组词有哪些
深圳虚拟主机 安徽虚拟主机 中国万网域名 老域名全部失效请记好新域名 国外永久服务器 t楼 mediafire 电子邮件服务器 电信托管 如何建立邮箱 创建邮箱 重庆服务器 阿里云邮箱个人版 alexa世界排名 热云 在线tracert 神棍节 qq部落24-5 ddos攻击器 阿里云主机 更多