struts1处理原理
ActionServlet是如何传递请求的,如何和ActionForm、ActionMapping、Action交互
1.struts2.x Action里面的属性什么时候实例化:
struts2 的action不是单例,默认都是每一个请求都会new 一个action。
所以action的javabean属性在每一次请求都有实例化一次,也是在这时候才实例化的。
原理:是在struts2调用完拦截器栈之后,调用响应Action的execute方法前
详细的说:struts2在接受一个请求之后,会建立相应请求的Action对象,同时生成管理其上下文的ActionContext对象,并将javabean(即Action对象)的属性放到Valuestack栈顶,将这些属性初始化,之后struts2会调用拦截器栈中的拦截器(注意这些拦截器会改变valuestack中属性的值,如params拦截器会完成将表单字段映射到valuestack属性上。。。),在调用结束后,struts2会将valuestack中的属性映射赋值给Action对象属性,最后调用action方法。
2.struts1.x ActionForm什么时候实例化:
a.Tomcat启动--->先加载<param-name/>和<listener/>--->当<servlet/>里面的<load-on-startup>2</load-on-startup>就
初始化ActionServlet,加载<init-param>中所有的配置文件(struts-config.xml等)到内存
将applicationContext.xml中的DBresource、DAO、Service、Action注入好保存在上下文中,将struts-config.xml文件里面的beanform、action、jsp等的映射关系都保存在actionmapping中存入上下文中。
b.URL访问--->
实例化ActionServlet,ActionServlet实例对象拦截请求,截取URL--->去actionMapping中映射匹配此action---->找到相应的actionmapping保存到request中--->将表单数据保存到map<name,value>中,映射beanForm,循环将表单数据set()到beanForm中,保存到request或session中---->调用真正的action处理类,将beanForm装换为底层数据库的javaBean即Entity,service.save(entity) ;---->
c.HibernateTemplate.save(entity.class)---->Hibernate自动生成hql--->DB
d.action类里面,service.save(Entity)成功后,返回一个ActionForward给ActionServlet,控制跳转到相应action或jsp---->response响应用户请求,结束!
分享到:
相关推荐
Struts1 工作原理浅析 一、Struts1 工作原理概述 Struts1 是一个基于 MVC 模式的 Web 应用框架,它的工作原理可以分为三个部分:Model、View 和 Controller。Model 负责处理业务逻辑,View 负责表现层,Controller...
### Struts1与Struts2原理及区别详解 #### Struts1原理概述 **Struts1** 是一种基于MVC架构的开源Java Web框架,它主要用于构建动态网站和应用程序。Struts1的核心组件包括ActionServlet、ActionForm以及Action...
**Struts1原理:** Struts1是Apache组织的一个开源项目,它引入了ActionServlet来处理HTTP请求。当用户发起请求时,请求会被Struts1的Front Controller(即ActionServlet)拦截,然后根据配置文件(struts-config....
Struts1是Apache组织开发的一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它简化了开发...实际开发中,虽然Struts1已经被Struts2和其他现代框架取代,但了解其工作原理对理解和使用其他框架仍然有裨益。
本文将深入探讨Struts1的基本原理,帮助理解其架构设计和工作流程。 **1. MVC架构** MVC模式是软件工程中一种用于分离业务逻辑、数据和用户界面的设计模式。在Struts1中,Model代表应用程序的数据和业务逻辑,View...
在深入理解Struts的工作原理之前,我们先来简单回顾一下MVC模式的基本概念: **Model(模型)**:这是应用程序的核心业务逻辑,通常由Java Beans或Enterprise JavaBeans (EJBs)实现,它们处理数据和业务规则。 **...
根据提供的文件信息,“Struts框架原理图”主要阐述了Struts框架的工作原理、流程以及页面间的跳转机制。为了更好地理解和应用Struts框架,本文将深入解析这些关键知识点。 ### Struts框架概述 Struts是一个开源的...
Struts2的设计理念和工作流程与WebWork框架相似,可以认为Struts2是对WebWork的升级和扩展,吸收了WebWork的优点,同时改进了Struts1的一些不足,如更简洁的配置和更强大的动作映射。 8. **集成其他框架**: ...
理解Struts2的工作原理是深入学习和有效利用该框架的关键。下面将详细介绍Struts2的工作流程。 1. **请求接收**:当用户在浏览器中提交一个HTTP请求时,这个请求首先会被Web服务器(如Apache Tomcat)接收到。如果...
【标题】:“Hibernate、Spring和Struts工作原理及使用理由” 【内容】: Hibernate是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....
Struts2框架作为Java Web开发领域中的一款经典MVC(Model-View-Controller)框架,其工作原理涉及到了一系列复杂的组件交互与流程控制。本文将深入解析Struts2的工作流程,帮助开发者理解其核心机制。 ### 一、...
Struts2.0文件上传原理主要涉及Web应用中处理用户上传文件的功能,这一过程涉及到多个步骤和技术,包括HTTP协议、Multipart/form-data编码、临时文件存储以及后台处理。以下是对Struts2.0文件上传原理的详细解释: ...
`struts原理.txt`文件可能包含了文字描述,进一步解释了Struts2的核心概念和机制,比如Action的配置、结果映射、拦截器的实现方式,以及Struts2如何整合其他技术,如Spring或Hibernate进行依赖注入和持久化操作。...
理解Struts的工作原理对于开发高效且易于维护的Java Web应用至关重要。 ### Struts框架的核心组件 1. **核心控制器 (ActionServlet)**: Struts框架的核心是ActionServlet,它是一个实现了Servlet接口的类。在Web...
理解Struts1的核心组件和工作原理对于任何Java Web开发者来说都是至关重要的,这有助于他们构建稳定、可扩展的应用程序。虽然Struts1已经被更现代的框架如Spring MVC取代,但其设计理念和MVC模式依然在现代Web开发中...
Struts2的工作原理深入探讨了其内部机制和核心组件,对于理解框架如何处理请求、路由到相应的Action以及渲染响应至关重要。 首先,Struts2并非Struts1的简单升级,而是融合了WebWork的核心,因此在设计和工作流程上...
综上所述,Struts 1.2 的执行原理围绕着 MVC 架构展开,通过清晰地划分职责,实现了业务逻辑、数据处理和视图展示的分离,极大地提高了 Web 应用的开发效率和维护便利性。了解其核心执行流程对于深入理解 Struts ...
**Struts2与Struts1框架原理详解及流程图** Struts2和Struts1是两种广泛应用于Java Web开发中的MVC(Model-View-Controller)框架,它们为开发者提供了结构化、可维护的代码组织方式,提高了开发效率。本文将深入...
本教程将帮助初学者深入理解Struts1的核心概念、工作原理以及如何使用它来构建动态Web应用程序。 **1. MVC模式** 在深入Struts1之前,首先理解MVC模式至关重要。MVC是一种设计模式,用于将业务逻辑、数据和用户界面...