1.启动web容器(web server)
1.1 用web.xml初始化应用,搜索含有<load-on-startup>0</load-on-startup>项的servlet,
并加载入容器(new object过程);
1.2 初始化servlet(用<init-param> <param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>)加载了strtus的配置信息,
发现<plug-in>加载扩展组建ContextLoaderPlugIn
根据contextConfigLocation属性文件的value值加载Spring上下文beans.xml
并产生ModuleConfig对象;
1.3 此时web server准备好截获 <url-pattern>*.do</url-pattern>的请求
2.访问应用首页
2.1 发出forward请求 page=“list.do”
2.2 web容器截获请求,并判断请求类别,根据请求字符串后缀(.do)
if 是.do 转交ActionServlet核心控制器处理
2.2.1 ActionServlet调用私有方法 process()方法
2.2.2 在process方法中 再调用Requestprocessor类(核心处理器)的process();
2.2.3 在Requestprocessor 的process()方法中 编码判定、语言判定等程序,并且对请求字符串解析(去掉.后的字符)first;
2.2.4 根据请求串(list)在容器中由struts-config.xml产生的ModuleConfig对象中 搜索与path值相同的action项
2.2.5 在此action中先搜索
if name属性存在
2.2.5.1 根据此name的value值去查找同名的form-bean对象
if form-bean对象已创建
a. 调用此formbean的reset()初始化该对象;
b. 用请求的属性值填充同名的formbean 属性值;
c. 再调用此formbean的validate()验证属性的合法性(返回的ActionErrors对象为null)。
else 根据formbean项的type属性创建formbean对象,再调用reset()、填充、validate()验证
如果合法:
d.再根据请求串(list)搜索action对象是否存在
if 存在 直接用反射调用execute(mapping,form,request,response),返回的forward对象
else 根据type属性值创建action对象(此时只能返回DelegatingActionProxy的实例)
通过DelegatingActionProxy的实例将控制权转交给Spring(传入Action.path值)
在beans.xml中搜索name值等于path值的bean对象(根据class的值反射创建)
此时才返回真正的action实例(对象)
后用反射调用execute(mapping,form,request,response)返回的forward对象;
如果不合法:(返回的ActionErrors对象不为null)
a.直接访问此action项的input属性返回物理视图给ActionServlet
2.2.6 ActionServlet接获控制权,并根据返回的forward对象解析view响应给客户
分享到:
相关推荐
【标题】:“Hibernate、Spring和Struts工作原理及使用理由” 【内容】: Hibernate是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....
Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...
**Struts与Spring的集成原理** 集成Struts和Spring主要有以下几个步骤: 1. **引入Spring插件**:在Struts 2中,需要添加Spring插件,如`struts2-spring-plugin-*.jar`到项目类路径中。 2. **配置Spring**:在...
Struts、Spring 和 Hibernate 是Java开发中非常重要的三个开源框架,它们在构建企业级Web应用程序时发挥着核心作用。下面将分别详细介绍这三个框架的工作原理。 1. Struts工作原理: Struts 是一个基于MVC(Model-...
【Spring工作原理】 Spring框架的核心概念是依赖注入(Dependency Injection,简称DI),也被称为控制反转(Inversion of Control,简称IOC)。IOC使得开发者无需在代码中手动创建对象,而是通过配置文件或注解来...
struts2-spring-plugin.jar :struts,spring插件。有了这个插件,spring容器才能在全应用中适用。 在我们集成struts2+spring+hibernate,也就是所谓的S2SH,不可避免的要引入struts2-spring-plugin.jar插件。 本文...
`struts原理.txt`文件可能包含了文字描述,进一步解释了Struts2的核心概念和机制,比如Action的配置、结果映射、拦截器的实现方式,以及Struts2如何整合其他技术,如Spring或Hibernate进行依赖注入和持久化操作。...
Spring+Struts+Hibernate(SSH)是Java EE领域中一种经典的开源框架组合,用于构建企业级的Web应用程序。这个框架组合充分利用了各自的优势,实现了松散耦合的三层架构,提高了代码的可重用性和可维护性。 首先,让...
Struts、Spring和Hibernate是Java开发中非常著名的三个开源框架,它们共同构成了经典的"SSH...通过阅读《Struts + Spring + Hibernate工作原理解析》文档,你可以更系统地掌握这些知识,为你的项目开发带来极大的帮助。
Struts、Spring和Hibernate是...因此,"Struts Spring Hibernate中文文档"对于学习和掌握这些框架的开发者来说,是一份极其宝贵的资源,可以帮助他们深入理解这三大框架的用法和原理,从而更好地应用于实际项目开发。
2. **Spring框架**:理解IoC容器的工作原理,学会使用依赖注入来管理对象。深入学习Spring的AOP,如何定义切面和通知。了解Spring MVC的控制器、模型、视图和适配器模式。 3. **Hibernate框架**:掌握实体类的创建...
【描述】: "本文深入探讨Java Web开发中常见的技术,包括JSP、Servlet、Struts、Hibernate和Spring,讲解它们的工作原理和实用技巧。" 【标签】: "jsp, servlet, struts, hibernate, spring" 【内容】: Java Web...
接着,深入学习Spring框架,了解IoC(Inversion of Control)和AOP的基本原理,以及如何配置和使用Spring的bean。最后,要熟悉Hibernate的ORM机制,学习实体类的配置、HQL(Hibernate Query Language)的使用,以及...
### Struts、Spring、Hibernate三大框架的原理和优点 #### 1. Struts框架的原理与优点 **Struts** 是一种基于MVC(Model-View-Controller)设计模式的Web应用框架,它广泛应用于Java Web开发中。下面详细介绍...
《Spring in Action 中文版》是一本很好的Spring学习资料,可以帮助读者深入了解其工作原理和实际应用。 3. **Ajax**: Asynchronous JavaScript and XML(异步JavaScript和XML)是一种在不刷新整个页面的情况下更新...
Struts、Spring和Hibernate是Java开发中非常流行的三大开源框架,它们分别负责MVC模式中的表现层、业务层和持久层。Struts提供了强大的MVC架构支持,Spring则以其依赖注入(DI)和面向切面编程(AOP)为核心,简化了...
Struts2是另一个流行的Java Web框架,其工作原理主要基于Model-View-Controller(MVC)设计模式: 1. 拦截器:Struts2的核心是Action和Interceptor(拦截器)。当用户发起请求时,请求会被一系列的拦截器链所处理,...
1. **Struts基础**:理解Struts的工作原理,Action和Form Bean的创建,以及如何使用Tiles进行页面布局。 2. **Spring核心概念**:掌握IoC容器的使用,bean的配置,以及AOP在实际项目中的应用。 3. **Hibernate配置与...
总之,"StrutsSpringHibernate完整版"是一个涵盖了整个SSH框架的示例应用,展示了如何将这三个框架集成以实现一个完整的Web应用程序。学习和理解这个项目,开发者可以深入理解SSH框架的工作原理,提高自己的企业级...