栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSH框架源码分析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSH框架源码分析

近期接手一个某法院的文书分析项目,做二期升级改造,项目建成于2015年,拿到代码之后的我一脸懵B、无从下手。凭借自己丰富的方法论+度娘帮助,四天拿下源码,明确二期项目实施方法。分享给大家,回馈度娘,也帮助自己再一次理解项目。

首先感谢博主文章,受益良多!java项目中怎样看使用的是什么框架啊?_百度知道https://zhidao.baidu.com/question/1861686131604102987.html

SSH框架总结(框架分析+环境搭建+实例源码下载)_贾琳 一名系统架构师的征途-CSDN博客_ssh框架实例首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。 集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。 Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hhttps://blog.csdn.net/shan9liang/article/details/8803989 了解一个项目无非几种模式:TOP-DOWN(自顶向下模式)、BOTTOM-UP(自底向上模式)和整体-局部模式。

首先根据第一篇链接观察项目源码使用的是哪些框架:

1、首先使用开发工具打开以前练手的项目,如下图所示。

2、展开某一个项目目录,查看该项目中的配置文件或类包。如果项目文件中里面仅有applicationContext.xml文件,则代表该项目用了spring框架,如下图所示。

3、打开的项目目录中,如果类包中有action包,配置文件中仅有struts.xml文件,这样的项目一般用了struts2框架。

4、如果项目目录中,可以找到struts.xml、applicationContext.xml,在其他Java类包中还可以找到XX.hbm.xml。这样的项目一般使用SSH三大框架进行整合开发的。

5、如果项目目录中没有struts.xml、applicationContext.xml以及xx.hbm.xml等配置文件,项目类包中有使用servlet的类。这样的Web项目是没有使用任何框架的。

6、如果项目目录配置中有spring.xml、spring-mvc.xml和spring-mybatis.xml等配置文件,通常这样的项目是使用SSM进行整合的项目。

根据web项目依赖的jar包包括:Hibernate、Hibernate-jpa、spring-core、structs2-core等这些依赖包和代码结构,确认这个项目是SSH框架(Structs + Spring + Hibernate)

然后了解该框架结构与原理:

典型SSH框架项目(Structs2 + Spring + Hibernate)

(表示层)JSP页面实现交互(Request和Response)->structs2根据配置文件将ActionServlet接收到的Request委派给相应的Action处理。

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

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

了解该框架调用和执行流程:

  • 部署项目后,启动tomcat服务;
  • Tomcat装在动态、静态资源。首先执行/webapps/appname/WEB-INF/web.xml文件,该文件指定context上下文;
  • 加载静态资源如/webaps/appname/index.jsp,又如加载struct2框架下配置的资源,加载动态资源如启动listener进程,监听用户访问;
  • 用户通过端口访问tomcat进程,并通过端口号后+appname访问/webapps/appname;
  • Tomcat响应访问,新建Servlet对象来处理请求和返回数据(HttpServlet);
  • 调用第三步中struct2框架下配置好的资源;
  • Structs2调用本地后台代码块。

后台代码逻辑根据项目不同略有不同,可以自己整理,沿着Structs2或action包、DAO层多种主线进行分析。

最后,研究不深、难免漏洞百出,积极欢迎各位前辈、师兄师弟批评指正!共同学习、一起进步!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号