第1章-Struts2 概述 --- Struts2和MVC


(一)Struts2和MVC的关系图:

  

(1)控制器---FilterDispatcher

    用户请求首先达到前段控制器(FilterDispatcher)。FilterDispatcher负责根据用户提交的URL和struts.xml中的配置,来选择合适的动作(Action),让这个Action处理用户的请求。

    FilterDispatcher其实是一个过滤器(Filter,servlet规范中的一种Web组件),它是Struts2核心包里已经做好的类,不需要我们去开发,只要在项目的web.xml中配置一下即可。FilterDispatcher体现了J2EE核心设计模式中的前端控制器模式。

 

(2)动作---Action

    在用户请求经过FilterDispathcer之后,被分发到了合适的动作Action对象。Action负责把用户请求中的参数组装成合适的数据模型,并调用相应的业务逻辑进行真正的功能处理,然后获取下一个视图展示所需要的数据。

 

    Struts2的Action,相比于别的Web框架的动作处理,有一个很大的进步,它实现了与Servlet API的解耦,使得在Action里面不需要再直接去引用和使用HttpServletRequest与HttpServletResponse等接口,因而使得Action的单元测试更加简单,而且强大的类中转换也使我们少做了很多重复的工作。

 

(3)视图---Result

    视图结果用来把动作中获取到的数据展现给用户。

原文地址:https://www.cnblogs.com/baiduligang/p/4247399.html