近期接手一个某法院的文书分析项目,做二期升级改造,项目建成于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层多种主线进行分析。
最后,研究不深、难免漏洞百出,积极欢迎各位前辈、师兄师弟批评指正!共同学习、一起进步!



