1.3.1 Struts2和MVC
前面讲到Struts2是一种基于MVC的Web应用框架,下面就来看看Struts2和MVC的关系。
当然,由于我们还没有深入学习Struts2的各部分功能,这里只是先给大家讲一下Struts2是如何跟MVC对应的,其中一些名词所代表的具体功能,比如前端控制器(FilterDispatcher)、动作(Action)、结果(Result)等,在以后都会有专门的章节去讲解,现在不必在意他们的细节。
图1.5 Struts2中的MVC关系
用户请求首先到达前端控制器FilterDispatcher。FilterDispatcher负责根据用户提交的URL和struts.xml中的配置,来选择合适的动作(Action),让这个Action来处理用户的请求。
FilterDispatcher其实是一个过滤器(Filter,servlet规范中的一种web组件),它是Struts2核心包里已经做好的类,不需要我们去开发,只是要在项目的web.xml中配置一下即可。FilterDispatcher体现了J2EE核心设计模式中的前端控制器模式。
在用户请求经过FilterDispatcher之后,被分发到了合适的动作Action对象。Action负责把用户请求中的参数组装成合适的数据模型,并调用相应的业务逻辑进行真正的功能处理,然后获取下一个视图展示所需要的数据。
Struts2 的Action,相比于别的web框架的动作处理,有一个很大的进步,它实现了与Servlet API的解耦,使得在Action里面不需要再直接去引用和使用HttpServletRequest与HttpServletResponse等接口。因而使得Action的单元测试更加简单,而且强大的类型转换也使得我们少做了很多重复的工作。
视图结果用来把动作中获取到的数据展现给用户。在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的核心概念和技术特性: 1. **...
### 知识点一:Struts2入门(MVC HelloWorld) #### 1.1 Struts2简介 ...以上就是关于“研磨Struts2”的主要知识点梳理,通过深入学习这些内容,开发者可以更好地掌握Struts2框架的核心技术和实践技巧。
由于文件较大,我把这个文档切割为2部分,这是第一部分,请下载完第一部分后一定要下载第二部分,否则不能阅读。
根据提供的文件信息,我们可以推断出这是一份关于《研磨Struts 2》书籍PDF版本的下载资源。为了更好地理解和概括这份资料所涉及的知识点,我们先来了解一下Struts 2框架及其重要性,然后深入探讨《研磨Struts 2》这...
Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建高效、可扩展且易于维护的Web应用的工具和组件。《研磨Struts2》这本书是专门针对Struts2框架的学习...
《研磨Struts2》这本书主要介绍了Struts2的基础知识、实践应用以及其核心概念。 1. **MVC模式**:MVC是一种设计模式,用于分离应用程序的业务逻辑、数据和用户界面。在Struts2中,Action类代表Controller,负责处理...
5. **《研磨Struts2的博客文章》**:Struts2是Java企业级应用中常用的MVC框架。这本书可能是由一系列博客文章整理而成,详细讲解了Struts2的架构、配置、控制器、视图和模型的使用,以及如何进行实际项目开发。对于...
这三本书籍——《JVM深入理解java虚拟机》、《Spring揭秘》和《研磨Struct2》分别涵盖了Java技术栈中的核心组件、企业级应用开发框架以及一个流行的Web框架,对于深化Java知识体系具有极大的帮助。 首先,《JVM深入...