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 ...
随机推荐
- USB Compound Device,USB复合设备 ; USB Composite Device,USB组合设备【转】
本文转载自:https://blog.csdn.net/autumn20080101/article/details/52776863 科普下USB复合设备和USB组合设备的区别. 关键字 Commu ...
- 安装Qt5.9
目前,作为一个重量级编程开发工具,Qt 已经正式发布了 5.9.0 版本.相比之前的 5.7,5.8 版本,新版本在性能和功能上有了大幅改善和提高,并由此获得了官方的明确表态:这将是继 5.6 之后的 ...
- 论文笔记——SQUEEZENET ALEXNET-LEVEL ACCURACY WITH 50X FEWER PARAMETERS AND <0.5MB MODEL SIZE
论文地址:https://arxiv.org/abs/1602.07360 模型地址:https://github.com/DeepScale/SqueezeNet 1. 论文思想 提出一种新的卷积组 ...
- 【Android实验】第一个Android程序与Activity生命周期
目录 第一个Android程序和Activity生命周期 实验目的 实验要求 实验过程 1. 程序正常启动与关闭 2. 外来电话接入的情况 3. 外来短信接入的情况 4. 程序运行中切换到其他程序(比 ...
- Jenkins 构建 coding项目,插件
安装插件:http://updates.jenkins-ci.org/download/plugins/coding-webhook/
- 使用cocos创建的项目,如何进行源码调试?
环境cocos3.10,里面包含了cocos2dx 3.10引擎.但是用cocos创建出来的项目,使用的lib和dll是文件夹Cocos\Cocos2d-x\cocos2d-x-3.10\prebui ...
- 终于用ADB连上平板了
可以看到设备管理器里, ADB Interface 设备装不上驱动. 1,百度到的内容,没有一个靠谱的. 2,google到内容了, 却因为看的不仔细,浪费了好多时间...(android自己的文章都 ...
- Failed to execute operation: No such file or directory(systemctl enable iptables.service)
在保存Iptables配置时:systemctl enable iptables.service 出现错误: Failed to execute operation: No such file or ...
- 关于C和C++
最开始学的就是C和C++,但只是学过,根本就不知道怎么使用. 后来接触了Python和Perl才知道怎么将编程应用于实际需求当中,读取文件,存放到数据结构,处理,输出. 但脚本语言有其固有的缺点,不能 ...
- 一个登陆浏览api接口; 其他相关: Form_with参数的不同写法; 简单使用curl。
eeting-up app: 完成一个需求: 完成:https://github.com/chentianwei411/meeting-up-app 第四步实现API接口 Add api base a ...