无论是已经熟知SSH开发的老手,还是想要快速上手SSH的程序员,或者是对SSH还一无所知的学生,搞清楚SSH这个框架的逻辑流程都是相当关键的。现在让我一起学习,或者回顾一下SSH的逻辑执行流程。
先简单叙述一下流程:
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返回给服务器
其中,
struts用于接受请求,
而spring则负责控制对象的创建,
在ssh框架中都所以的对象创建都由spring负责,
最后hibernate负责持久层 也就是与数据库的交互。
然后另一种对于SSH流程的解释是:
系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring
IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
最后我们有必要从具体代码上再给与分析:
1,服务器启动时,加载Web.xml
读到struts-config.xml里,加载strutx-config.xml文件:
又读到插件,所以还需要加载Spring配置文件ApplicationContext.xml:
此时遇到了Hibernate.cfg.xml:
到此,各个配置文件加载完毕。
先说web.xml,接着通过welcom-file中的login.jsp跳转到欢迎登陆界面,就会出现开头的那张图了。
接着,最有意思的是Spring的配置文件了,我好几次问题都出现在那里:
请注意,它是顺序执行的,每次进行的加载,都是把整个页面的配置信息都执行完了,才叫加载完成。所以服务器启动时,会等待很长一段时间,我的是17s。
跟iadmin对应的是接口类IAdmin:
跟UserDAO对应的是DAO实现类:
关键在这个类,Action处理类LoginAction:
我这里用的是分发Action(DispatchAction)。这里最需要注意的是名字命名时的大小写问题。
注意跟Spring配置文件要对应。(我就是在这里犯的错误!汗)
另外对其实文件的一些说明:
用分发Action时,在Struts-config.xml里要注意:
需要有个,然后View层通过传具体的method值到Action中进行处理;我这里用通过与Spring进行集成,使得比较直观。还有一个在Struts的配置文件中这点细节注意,它跟页面的是对应的。同时页面是通过把值传给服务器的。
希望对大家有帮助(*^__^*)
分享到:
相关推荐
本人刚学完ssh框架,进行了总结和概述,希望能给大家提供些参考,提高自己
因此,通过本次课程设计的练习,大家可以基本上了解使用SSH框架整合开发一个完整系统的一般步骤。 本次课程设计的主要内容有: ? 系统概述 ? 设计数据库 ? SSH三大框架的整合 ? MD5加密的实现(选做) ? 注册系统的...
源码的提供使得学生可以深入研究系统的内部逻辑和实现细节,了解Java编程和SSH框架的实际应用。同时,源码附带的详细说明详细解释了每个模块的功能、设计思路以及可能遇到的问题,为学生提供了清晰的学习路径。 ...
集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的...
数据库设计时先进行了概念结构设计,然后进行了逻辑结构设计,最后完成了数据表的设计。 根据前几个阶段的分析和设计,本系统在设计方面采用B/S模式,同时使用JSP技术进行基本页面的设计与功能实现,后台数据库选用...
《计算机毕业设计:Java实现的网上书店系统(SSH实现,源码+数据库+说明)》是一项全面而专业的计算机毕业设计资源,它不仅适用于本科课程设计、毕业设计,更是Java学习者和SSH框架实践者的理想之选。 该系统采用...
2.5 SSH框架集成及其特点 13 2.5.1 SSH框架集成 13 2.5.2 SSH框架集成的特点 14 2.6 本章小结 16 第三章 电子商品库存管理系统的分析 17 3.1 系统可行性研究 17 3.1.1 提出问题 17 3.1.2 分析问题 17 3.1.3 系统设计...
系统后台选用了SSH框架来实现主要的业务逻辑,其中Struts2负责Web层的请求响应分发,Spring框架处理业务对象的生命周期及依赖关系,Hibernate用于对象关系映射和数据的持久化操作。前端采用了JSP技术结合JavaScript...
整个系统遵循了经典的Model-View-Controller(MVC)设计模式,将业务逻辑、数据模型和视图展示分离,使得代码结构清晰,便于维护和扩展。通过SSH(Struts+Spring+Hibernate)的整合,该系统能够提供高效稳定的服务,...
也是一款基于SSH框架技术的网站。 系统功能实现 在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上...
并运用数据流图和数据字典和数据库逻辑结构,层次图,系统流程图,以及程序流程图,对该系统的数据需求,数据库,系统软件结构,系统流程,以及处理过程等进行了分析和设计。 本系统前台主要使用JSP作为开发语言。...
Jsp有html和jsp标签构成,可以方便地编写动态网页,因此在实际的应用中采用servlet来控制业务流程,而采用jsp来生成动态页面,在struts框架中,jsp位于mvc的设计式的视图层, 答案三: Jsp是servlet技术的扩展,...
Struts作为项目的MVC(模型-视图-控制器)框架,简化了Java Web应用程序的开发流程,通过一系列的动作类、表单和标签库来分离表示层和业务逻辑层。Spring框架则以其依赖注入和面向切面编程的特性,优雅地管理了应用...
根据前几个阶段的分析和设计,该系统决定采用B/S结构,JSP作为开发语言,数据库采用MYSQL轻量级数据库,利用S2SH这种成熟的框架技术来进行一个全面的系统开发。 关键词:酒店人员管理;考勤绩效;S2SH技术
本论文全面阐述了酒店人员管理系统中的人事信息管理...根据前几个阶段的分析和设计,该系统决定采用B/S结构,JSP作为开发语言,数据库采用MYSQL轻量级数据库,利用S2SH这种成熟的框架技术来进行一个全面的系统开发。
这就使集成了SSH框架的系统在职责上的四层:表示层、业务逻辑层、数据持 久层和域模块层密切联系,最大化地实现SSH集成框架的功能。 关键词:SSH集成框架 Web 1主流Web开发框架分析 1.1 MVC结构模式和WebWork框架 ...
1.采用主流SSH2框架,容易上手; 代码生成器依赖性低,很方便的扩展能力,可完全实现二次开发; 2.开发效率很高,单表数据模型和一对多(父子表)数据模型,增删改查功能自动生成,菜单配置直接使用; 3.页面校验自动生成...
4.1 搭建SSH框架 19 4.2 目录及包介绍 21 4.3 表示层实现 22 4.4 业务逻辑层实现 24 4.5 持久层及域对象层实现 25 4.6 其他实现 26 4.7 主要实现界面 29 4.7.1 登陆界面 29 4.7.2 首页面 29 4.7.3 部门信息列表界面 ...
办公自动化管理系统基于Web的B/S三层应用程序体系构架,选择MyEclipse 10开发环境,采用J2EE SSH(Struts+Spring+Hibernate)框架技术,利用MVC设计模式将业务逻辑和表示逻辑分离,在表示逻辑层利用JSP技术实现了页面制作...
系统充分利用了J2EE的优势,采用广受欢迎的SSH框架作为系统的基本架构,同时融入了Ajax技术,增强了系统的用户体验。接着对城市宠物管理系统进行了概要设计,在概要设计中,给出了系统在非功能性方面的关键技术及其...