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基础 父,子类普通方法重名 子类方法覆盖父类方法
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- word2vec 中的数学原理详解(一)目录和前言【转】
本文转载自:https://blog.csdn.net/itplus/article/details/37969519 word2vec 是 Google 于 2013 年开源推出的一个用于获取 wo ...
- luogu P2184 贪婪大陆
乍一不咋会 ╭(╯3╰)╮ 把地雷L到R看成一条线段 要求的就是区间内有多少条线段经过 很明显是要用[1,R]内的起点个数-[1,L-1]的终点个数 然后这起点和终点个数可以用简单的差分线段树来维护一 ...
- js自动小轮播
使用定时器,换个图片地址. 从1到5换,如果大于5了再跳到1,点击停止时关闭定时器. <!-- Author: XiaoWen Create a file: 2016-12-08 13:19:2 ...
- 【译】第1节--- EF Code First 介绍
原文:http://www.entityframeworktutorial.net/code-first/entity-framework-code-first.aspx 本教程涵盖了code fir ...
- yii2 高级版新建一个应用(api应用为例子)
先在项目的根目录下复制一份 backend 为 api: cp backend/ api -r 拷贝 api 环境 cp -a environments/dev/frontend environmen ...
- 转载:RESTful API 设计指南
http://www.ruanyifeng.com/blog/2014/05/restful_api.html 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板. ...
- [原][OSG][osgBullet][osgworks][bullet]编译osgBullet尝试物理引擎
相关网址: 类似文章:http://blog.csdn.net/lh1162810317/article/details/17475297 osgBullet官网:http://osgbullet.v ...
- Shell循环输入符合条件为止
提供用户输入,直到输入d/D/r/R为止. #!/bin/bash ]; do echo -n "(D)ebug or (R)elease?" read select_build_ ...
- 2018年全国多校算法寒假训练营练习比赛(第一场)C 六子冲
https://www.nowcoder.com/acm/contest/67/C 思路: 模拟. 代码: #include<bits/stdc++.h> using namespace ...