Struts2工作原理及流程
Struts2是基于MVC设计模式的JavaWeb 框架技术。
基于Struts2开发Java Web项目的主要步骤如下:
(1)在web.xml中配置FilterDispatcher。
(2)设计和编写视图组件(JSP页面)。
(3)编写用来实现视图组件的业务逻辑组件JavaBean。
(4)编写视图组件对应的业务控制器Action,在该Action中调用业务逻辑组件JavaBean,进行业务逻辑处理。
(5)配置Action,即修改struts.xml配置文件。在struts.xml中配置逻辑视图与物理视图之间的跳转关系。
Action调用模型组件(业务逻辑组件)处理后,返回处理结果(逻辑视图,即返回的字符串),根据处理结果进行下一步页面跳转。页面怎么跳转都是事先在struts.xml中配置好的。
1、Struts2控制器组件:核心控制器FilterDispatcher、业务控制器Action;
(1)FilterDispatcher是一个过滤器,是Struts2的核心控制器,控制着整个Java Web项目中数据的流向和操作,FilterDispatcher需在web.xml中进行配置。
(2)Struts2的核心配置文件是struts.xml
用户请求提交给核心控制器FilterDispatcher后,具体由哪个业务控制器Action来完成,是在struts.xml配置文件中事先配置好的,
根据struts.xml配置文件中的数据,FilterDispatcher调用某个具体的业务控制器Action来完成数据的处理,
处理完数据后把处理结果通过其它对象返回给FilterDispatcher,FilterDispatcher根据struts.xml文件的配置,决定下一步操作。
(3)Action控制器
Action:业务控制器。不实现任何业务逻辑,只负责组织调度业务模型组件
Action类完全是一个简单的Java对象(Plain Old Objects,POJO),实际上就是一个普通的JavaBean
Action类无须与Servlet API关联,降低了与Servlet的耦合度,所以应用和测试比较简单
Action类的execute()方法仅返回一个字符串作为处理结果,该处理结果可传到任何试图或者另一个Action
2、Struts2模型组件:包括业务逻辑组件和数据库访问组件;
模型组件是可以实现业务逻辑的模块,如JavaBean、POJO或EJB。
Struts2框架的业务控制器Action不会对用户请求进行实质的处理,用户请求最终由模型组件负责处理,Action只是提供处理场合,是负责调度模型组件的调度器
Struts2框架的目的是使用Action来调用模型组件
3、Struts2视图组件,包括HTML、JSP、Struts2的标签等等。
除了HTML、JSP、Struts2标签外,还可以采用模板技术作为视图技术,如FreeMaker、Velocity等视图技术
Struts2工作原理及流程的更多相关文章
- Struts2工作原理
Struts2工作原理 Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.Acti ...
- Linux可插拔认证模块(PAM)的配置文件、工作原理与流程
PAM的配置文件: 我们注意到,配置文件也放在了在应用接口层中,他与PAM API配合使用,从而达到了在应用中灵活插入所需鉴别模块的目的.他的作用主要是为应用选定具体的鉴别模块,模块间的组合以及规定模 ...
- Java 详解 JVM 工作原理和流程
Java 详解 JVM 工作原理和流程 作为一名Java使用者,掌握JVM的体系结构也是必须的.说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java ...
- FastDFS tracker storage 的工作原理及流程
FastDFS tracker storage 的工作原理及流程 2013 年 3 月 11 日 – 09:22 | 1,409 views | 收藏 (No Ratings Yet) FastDF ...
- ARKit从入门到精通(2)-ARKit工作原理及流程介绍
转载:http://blog.csdn.net/u013263917/article/details/73038519 1.1-写在前面的话 1.2-ARKit与SceneKit的关系 1.3-ARK ...
- Hibernate、Spring和Struts2工作原理
Hibernate.Spring和Struts2工作原理 博客分类: Java 基础 工作HibernateSpringMVCStruts Hibernate.Spring和Struts2工作原理 ...
- Struts2工作原理和核心文件
一.Struts2工作原理 如下图: 二.Struts2配置文件 1.web.xml 任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置了web.xml文件的Servl ...
- 第四次作业 描述HDFS体系结构、工作原理与流程
1.用自己的图,描述HDFS体系结构.工作原理与流程. 读数据的流程 2.伪分布式安装Hadoop.
- SSH三大框架的工作原理及流程
Hibernate工作原理及为什么要用? 原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.x ...
随机推荐
- Python3基础 __repr__ 实例对象的名字,可以显示信息
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- luoguP2826 LJJ的数学课
思路 把公式拆开维护两个值,一个a[i]的总和,一个a[i]*i的总和 也可以用树状数组维护,模板题 代码 #include <iostream> #include <vector& ...
- 高斯消元&&luogu3389
高斯消元(Gauss) 高斯消元和我们做二元一次方程组差不多 流程: 1.把系数和右边的值就是用二维数组存下来->转化成矩阵 我们的目标是把这个矩阵装换成 上三角的形式 对角线系数全部为1,1下 ...
- 谈谈java中的final关键字
知识点:final(最终的)关键字修饰类.方法.属性 1.final修饰类:那么这个就无法被继承,如String类.StringBuffer类.System类 2.final修饰方法:被修饰的方法不能 ...
- 使用Docfx生成项目文档
使用docfx.console生成本项目的文档 使用docfx.console生成其他项目的文档 直接使用docfx.exe生成项目文档 指定配置文档模板 文档地址:http://gitlab.l ...
- OpenFlow protocol version 1.0 通信过程
参考 李呈:[原创]OpenFlow通信流程解读 OpenFlow protocol version 1.0 通信过程 通信双方: OpenFlow控制器,OpenFlow交换机. 通信模块: Sec ...
- 01_Kafka概述
1.Kafka背景 * LinkedIn开发,2011年成为Apache的一个开源项目* 2012年,成为Apache的一个顶级项目* 基于java和Scala编写, 基于发布-订阅模型的消息系统(离 ...
- UVa 1606 两亲性分子
https://vjudge.net/problem/UVA-1606 题意:平面上有n个点,每个点为白点或者黑点.现在需放置一条隔板,使得隔板一侧的白点数加上另一侧的黑点数总数最大.隔板上的点可以看 ...
- WPF基础学习笔记整理 (二) XAML
基础知识: XAML:Extensible Application Markup Language, zammel: 用于实例化.NET对象的标记语言: XMAL使用树形逻辑结构描述UI: BAML: ...
- python字典按照value进行排序.bak
先说几个解决的方法,具体的有时间再细说 d = {'a':1,'b':4,'c':2} 字典是这个,然后要对字典按照value进行排序 方法一: sorted(d.items(),key = lamb ...