《研磨struts2》 第一章 Struts2概述 之 Struts2和MVC
2012-07-20 12:58
489 查看
1.3.1
Struts2和MVC
前面讲到Struts2是一种基于MVC的Web应用框架,下面就来看看Struts2和MVC的关系。当然,由于我们还没有深入学习Struts2的各部分功能,这里只是先给大家讲一下Struts2是如何跟MVC对应的,其中一些名词所代表的具体功能,比如前端控制器(FilterDispatcher)、动作(Action)、结果(Result)等,在以后都会有专门的章节去讲解,现在不必在意他们的细节。
![](http://sishuok.com/forum/upload/2012/3/31/92c8312c7433f1eab053673872388b5f__%E6%9C%AA%E5%91%BD%E5%90%8D.jpg)
图1.5 Struts2中的MVC关系
控制器——FilterDispatcher
用户请求首先到达前端控制器FilterDispatcher。FilterDispatcher负责根据用户提交的URL和struts.xml中的配置,来选择合适的动作(Action),让这个Action来处理用户的请求。
FilterDispatcher其实是一个过滤器(Filter,servlet规范中的一种web组件),它是Struts2核心包里已经做好的类,不需要我们去开发,只是要在项目的web.xml中配置一下即可。FilterDispatcher体现了J2EE核心设计模式中的前端控制器模式。
动作——Action
在用户请求经过FilterDispatcher之后,被分发到了合适的动作Action对象。Action负责把用户请求中的参数组装成合适的数据模型,并调用相应的业务逻辑进行真正的功能处理,然后获取下一个视图展示所需要的数据。
Struts2 的Action,相比于别的web框架的动作处理,有一个很大的进步,它实现了与Servlet API的解耦,使得在Action里面不需要再直接去引用和使用HttpServletRequest与HttpServletResponse等接口。因而使得Action的单元测试更加简单,而且强大的类型转换也使得我们少做了很多重复的工作。
视图——Result
视图结果用来把动作中获取到的数据展现给用户。在Struts2中,多种优秀的结果展示方式正是其吸引人的特性之一,既有常规的jsp,又有模板freemarker、velocity,还有各种其它专业的展示方式,如图表jfreechart、报表JasperReports、将XML转化为HTML的XSLT等等。而且,各种视图结果在同一个工程里面还可以混合出现。
看到这里,应该大致知道了Struts2是什么,能干什么,粗略的了解到Struts2里面有什么,接下来,就应该看看究竟如何使用Struts2来开发基于MVC的Web应用了。
私塾在线网站原创《研磨struts2》系列
转自请注明出处:【http://sishuok.com/forum/blogPost/list/0/3990.html】
欢迎访问http://sishuok.com获取更多内容
相关文章推荐
- 《研磨struts2》 第一章 Struts2概述 之 Struts2和MVC
- 研磨Struts2 第一章 Struts2概述-1
- 《研磨struts2》 第一章 Struts2概述 之 Struts2基础
- 《研磨struts2》 第一章 Struts2概述 之 Struts2基础
- 研磨Struts2 第一章 Struts2概述-2
- 第一章 ASP.NET MVC 2 概述-用Asp.net MVC 15分钟创建电影资料库应用程序(1)
- Struts2-----1、MVC思想概述
- Java Struts2 框架入门详解(一)MVC架构详解以及Struts基本概述
- 《研磨struts2》第八章 Struts2的Taglib 之 8.1 Struts2的Taglib概述
- 《研磨struts2》 第二章 Struts2的HelloWorld 之 概述
- 《研磨struts2》 第二章 Struts2的HelloWorld 之从Servlet+JSP+JavaBean实现MVC开始
- Struts2框架学习第一章——Struts2概述
- 《研磨struts2》 第二章 Struts2的HelloWorld 之从Servlet+JSP+JavaBean实现MVC开始
- 第1章-Struts2 概述 --- Struts2和MVC
- 《研磨struts2》 第二章 Struts2的HelloWorld 之从Servlet+JSP+JavaBean实现MVC开始
- 第1章-Struts2 概述 --- Struts2和MVC
- 使用契约优于配置的方式开发Struts2的MVC程序(一)
- 使用契约优于配置的方式开发Struts2的MVC程序(二) ---action
- spring mvc controller间跳转(重定向,传参)+struts2 转发和重定向
- ASP.NET MVC Music Store教程(1):概述和新项目