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工作原理及流程的更多相关文章

  1. Struts2工作原理

    Struts2工作原理 Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.Acti ...

  2. Linux可插拔认证模块(PAM)的配置文件、工作原理与流程

    PAM的配置文件: 我们注意到,配置文件也放在了在应用接口层中,他与PAM API配合使用,从而达到了在应用中灵活插入所需鉴别模块的目的.他的作用主要是为应用选定具体的鉴别模块,模块间的组合以及规定模 ...

  3. Java 详解 JVM 工作原理和流程

    Java 详解 JVM 工作原理和流程 作为一名Java使用者,掌握JVM的体系结构也是必须的.说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java ...

  4. FastDFS tracker storage 的工作原理及流程

    FastDFS tracker storage 的工作原理及流程 2013 年 3 月 11 日 – 09:22 | 1,409 views | 收藏  (No Ratings Yet) FastDF ...

  5. ARKit从入门到精通(2)-ARKit工作原理及流程介绍

    转载:http://blog.csdn.net/u013263917/article/details/73038519 1.1-写在前面的话 1.2-ARKit与SceneKit的关系 1.3-ARK ...

  6. Hibernate、Spring和Struts2工作原理

    Hibernate.Spring和Struts2工作原理 博客分类: Java 基础 工作HibernateSpringMVCStruts  Hibernate.Spring和Struts2工作原理  ...

  7. Struts2工作原理和核心文件

    一.Struts2工作原理 如下图: 二.Struts2配置文件 1.web.xml 任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置了web.xml文件的Servl ...

  8. 第四次作业 描述HDFS体系结构、工作原理与流程

    1.用自己的图,描述HDFS体系结构.工作原理与流程. 读数据的流程 2.伪分布式安装Hadoop.

  9. SSH三大框架的工作原理及流程

    Hibernate工作原理及为什么要用? 原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.x ...

随机推荐

  1. Python3基础 父,子类普通方法重名 子类方法覆盖父类方法

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. word2vec 中的数学原理详解(一)目录和前言【转】

    本文转载自:https://blog.csdn.net/itplus/article/details/37969519 word2vec 是 Google 于 2013 年开源推出的一个用于获取 wo ...

  3. luogu P2184 贪婪大陆

    乍一不咋会 ╭(╯3╰)╮ 把地雷L到R看成一条线段 要求的就是区间内有多少条线段经过 很明显是要用[1,R]内的起点个数-[1,L-1]的终点个数 然后这起点和终点个数可以用简单的差分线段树来维护一 ...

  4. js自动小轮播

    使用定时器,换个图片地址. 从1到5换,如果大于5了再跳到1,点击停止时关闭定时器. <!-- Author: XiaoWen Create a file: 2016-12-08 13:19:2 ...

  5. 【译】第1节--- EF Code First 介绍

    原文:http://www.entityframeworktutorial.net/code-first/entity-framework-code-first.aspx 本教程涵盖了code fir ...

  6. yii2 高级版新建一个应用(api应用为例子)

    先在项目的根目录下复制一份 backend 为 api: cp backend/ api -r 拷贝 api 环境 cp -a environments/dev/frontend environmen ...

  7. 转载:RESTful API 设计指南

    http://www.ruanyifeng.com/blog/2014/05/restful_api.html 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板. ...

  8. [原][OSG][osgBullet][osgworks][bullet]编译osgBullet尝试物理引擎

    相关网址: 类似文章:http://blog.csdn.net/lh1162810317/article/details/17475297 osgBullet官网:http://osgbullet.v ...

  9. Shell循环输入符合条件为止

    提供用户输入,直到输入d/D/r/R为止. #!/bin/bash ]; do echo -n "(D)ebug or (R)elease?" read select_build_ ...

  10. 2018年全国多校算法寒假训练营练习比赛(第一场)C 六子冲

    https://www.nowcoder.com/acm/contest/67/C 思路: 模拟. 代码: #include<bits/stdc++.h> using namespace ...