博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
纵览全局——SSH
阅读量:2496 次
发布时间:2019-05-11

本文共 2008 字,大约阅读时间需要 6 分钟。

  小咸儿在开始进行SSH框架的项目之后,也没有了解过SSH到底是什么?

  现在小咸儿就和大家一起来认识一下SSH,让我揭开她的神秘面纱。

➼颜值:

  SSH是struts+spring+hibernate的一个集成框架。重要的是区别于Secure Shell,这是一个安全外壳协议。这只是名字相同,但是样貌不同,可千万别认错!!

  接着说我们的SSH框架:集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate。

➼才艺之琴:

  基本业务流程:在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml,不是固定的名称)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring loc容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。

➼才艺之棋:

  Struts:Struts对Model,View和Controller都提供了对应的组件。

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

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

  JavaBean封装了底层的业务逻辑,包括数据库访问等。

  View部分:采用JSP(或者HTML、PHP)实现

  Controller组件:Controller组件由两个部分组成——系统核心控制器,业务逻辑控制器

  系统核心控制器,对应上边的ActionServlet。该控制器继承了HTTPServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的Http请求,然后根据用户请求决定是否要转给业务逻辑控制器。

  业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理,对应Action部分。

➼才艺之书:

  Spring:Spring是一个开源框架,它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。简单来说:Spring是一个轻量级的控制反转(loC)和面向切面(AOP)的容器框架。

➼才艺之画:

  Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装。

  Hibernate的核心接口一共有5个:Session、SessionFactory、Transaction、Query和Configuartion。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。

  Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,指的是hibernate中的session,而HTTPSession对象成为用户session

  SessionFactory接口:sessionfactory接口负责初始化Hibernate。充当数据存储源的代理,负责创建session对象。

  Configuration接口:Configuration负责配置并启动hibernate,创建sessionfactory对象。在启动过程中,首先定位映射文档位置、读取配置,然后创建SessionFactory对象

  Transaction接口:负责事务相关的操作

  Query和Criteria接口:负责执行各种数据库查询。

➼总结:

  这次的总结是初步了解SSH框架之后,小咸儿进行的总结,在许多方面的认知还很浅显,如果有什么问题可以和小咸儿在评论区进行讨论。

转载地址:http://pderb.baihongyu.com/

你可能感兴趣的文章
一、redis面试题及答案
查看>>
消息队列2
查看>>
C++ 线程同步之临界区CRITICAL_SECTION
查看>>
测试—自定义消息处理
查看>>
MFC中关于虚函数的一些问题
查看>>
根据图层名获取图层和图层序号
查看>>
规范性附录 属性值代码
查看>>
提取面狭长角
查看>>
Arcsde表空间自动增长
查看>>
Arcsde报ora-29861: 域索引标记为loading/failed/unusable错误
查看>>
记一次断电恢复ORA-01033错误
查看>>
C#修改JPG图片EXIF信息中的GPS信息
查看>>
从零开始的Docker ELK+Filebeat 6.4.0日志管理
查看>>
How it works(1) winston3源码阅读(A)
查看>>
How it works(2) autocannon源码阅读(A)
查看>>
How it works(3) Tilestrata源码阅读(A)
查看>>
How it works(12) Tileserver-GL源码阅读(A) 服务的初始化
查看>>
uni-app 全局变量的几种实现方式
查看>>
echarts 为例讲解 uni-app 如何引用 npm 第三方库
查看>>
uni-app跨页面、跨组件通讯
查看>>