通过上面一张原理图可以知道:struts核心类是RequestProcessor,ActionServlet,我们可以将这两个类类比成一个销赃者,一个枪劫者。
ActionServlet:除了几个基本方法,没有其他业务逻辑方法。它的作用是:
1、加载struts-config.xml配置文件
2、加载资源文件
3、利用Digester解析struts-config.xml配置文件,将Action实例缓存机来(使用一个HashMap存机来)
4、拦截请求,委拖RequestProcessor处理请求
RequestProcessor:处理ActionServlet传递过来的请求。它的作用是:
1、创建ActionMapping,将Action/ActionForm/Forward缓存起来
2、创建ActionForm,检证ActionForm数据格式
3、封装数据到ActionForm中
4、创建Action
5、创建RequestDispatcher
6、响应请求
struts优点:
1、采用MVC模式,实现数据显示与业务逻加分开,便于开工开发软件
2、提供一些便利的组件:国际化,表单校验等(表单校验是优点也是缺点)
3、提供一套简单易用的标签库(在目前的富客户端可能用不上了,例如:EXT本身就有校验功能)
4、提供上传下载组件
缺点:
1、Action采用单例模式生成,在并发情况下具有安全隐患(机率小,但不排除)
2、Action应该面向接口编程
3、与底层API耦合度高,不便于测试
- 大小: 8.7 KB
- 大小: 29.5 KB
- 大小: 17.3 KB
分享到:
相关推荐
通过分析这些图片,开发者能更直观地理解它们的工作原理,有助于提高开发效率和代码质量。在实际项目中,Struts负责控制流程,Spring提供全面的依赖管理和数据访问,而Hibernate则简化了数据库操作,三者结合可以...
通过对这些文件的分析和实践,你可以更深入地理解Struts1的工作原理。 总之,模拟Struts1的过程是一个很好的学习方式,它帮助开发者理解MVC模式和框架如何协调工作,同时也能提升对Servlet的理解。实际开发中,虽然...
### Struts2的工作机制原理分析及实例整理 #### 一、概述 Struts2作为一款流行的Java Web开发框架,其设计理念和技术实现相比Struts1.x有着显著的不同。尽管两者名称相似,但从架构到实现方式,Struts2都有了质的...
在本文中,我们将深入探讨Struts2的工作原理和源码分析,以帮助理解其内在机制。 1. **Struts2架构图**: 当一个HTTP请求到达服务器时,它首先通过一系列Filter(过滤器),包括ActionContextCleanUp,该过滤器...
### Struts2原理分析 #### 一、Struts2架构概览 Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架。它将Web应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分,...
在本文中,我们将深入探讨Struts2拦截器的工作原理。 ### 一、拦截器概念 拦截器是基于Java的动态代理机制实现的,它允许我们在Action执行前后插入自定义的行为。在Struts2中,拦截器是一个实现了`Interceptor`...
### Struts2工作原理深度解析 #### 引言 Struts2框架,作为Java Web开发领域的一款重要工具,其设计理念源自于WebWork框架,并融合了Struts1的优点,旨在提供更为强大、灵活的MVC(Model-View-Controller)架构...
**Struts2工作原理** 1. **请求处理流程** 当一个HTTP请求到达服务器时,它首先通过一系列的过滤器(Filters)。在Struts2中,`FilterDispatcher`是关键的过滤器,它负责处理所有到达的请求。如果请求需要被Struts...
总的来说,Struts2的工作原理是通过一系列的组件协作,实现了从用户请求到业务逻辑处理再到视图展示的完整流程。它通过拦截器机制提供了强大的扩展性,使得开发者可以轻松地插入自定义的行为,增强了应用程序的灵活...
通过对这些文件的学习和分析,可以更深入地理解Struts2的工作流程和设计思想。 总之,Struts2是一个强大且灵活的MVC框架,它的工作原理涵盖了前端控制器、拦截器、Action、结果映射等多个关键组件,提供了高效、...
对于深入理解Struts2文件上传的工作原理,阅读源码是非常有帮助的。了解`FileUploadInterceptor`如何工作,以及`MultipartRequest`类如何解析Multipart请求,可以加深对整个过程的理解。 10. **实例实践** 博文...
本文将深入探讨Struts1的基本原理,帮助理解其架构设计和工作流程。 **1. MVC架构** MVC模式是软件工程中一种用于分离业务逻辑、数据和用户界面的设计模式。在Struts1中,Model代表应用程序的数据和业务逻辑,View...
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...
Struts2通过分析URL来决定调用哪个Action,例如,URL "login.action" 将触发名为"login"的Action。 **配置与Action** 在Struts2应用中,Action的配置通常在struts.xml文件中完成。每个Action都有一个唯一的`name`...
通过对Struts2配置与工作原理的深入分析,我们可以看出Struts2在架构设计上的精妙之处,以及它如何高效地处理复杂的Web应用程序。对于希望进一步了解Struts2工作原理的开发者来说,掌握以上提到的关键知识点是非常...
本文将深入探讨Struts框架的核心原理,通过分析其架构和关键组件,帮助读者理解Struts如何运作以及它为何能成为企业级应用开发的首选框架之一。 ### Struts框架的架构概述 Struts框架的核心是`ActionServlet`,它...
在Struts的工作原理中,用户发起一个请求,该请求被Web服务器(如Tomcat)捕获,然后转发给Struts的前端控制器(`ActionServlet`)。前端控制器根据`struts-config.xml`配置文件解析请求,并确定应该调用哪个Action...
本篇文章将深入剖析Struts2拦截器的工作原理,并通过案例"struts007"来展示如何实际应用。 首先,我们了解下拦截器的基本概念。拦截器是一个实现了Struts2提供的`Interceptor`接口的类,它定义了两个方法:`...