与基于JavaEE的固井优化主控软件设计毕业论文有关的外文翻译资料:Spring Web MVC框架
2021-03-21 00:40:08
英语原文共 34 页
第7章:Spring Web MVC框架
在上一章中,我向大家概述了Spring框架。我们了解了什么是Spring,它是如何打包的,以及它包含的各种模块。我还提到,在Spring中,当你决定是否使用Spring时,你不必采取使用全部模块的方法。换句话说,根据你的需要,你可以一次在Spring框架中同步一个模块(以及任何依赖项)。在本章中,我将演示如何使用Spring Web MVC框架,来构建我们的工时系统,即示例Web应用程序。
请注意,从此处起,我会在大部分时候将Spring Web MVC框架简称为Spring MVC。
本章包括的内容
在本章中,我们将会:
- 介绍使用Spring MVC的各种好处
- 深入了解Spring Web MVC框架
- 使用Spring MVC构建工时系统中的三个界面:一个无控制器,两个表单控制器和一个Spring HTTP拦截器。
注意
本书中使用的完整代码示例可以在本书的代码压缩文件(提供在本书的网站上)中找到。
这是令人兴奋的一章,所以我不会浪费任何时间无聊地介绍材料。让我们开始吧!
Spring Web MVC框架的优点
Spring Web MVC框架是一个强大,灵活和设计良好的框架,用于使用MVC设计模式快速开发Web应用程序。使用此Spring模块所获得的好处与Spring框架的其余部分相似。我们来回顾一下这些。本章稍后将介绍其中的一些好处。
- 更易于测试——你会发现在所有的Spring课程中,这是一个常见的主题。Spring的大部分类被设计为JavaBeans的事实使你能够使用这些类的setter方法注入测试数据。Spring还提供了模拟类来模拟Java HTTP对象(例如HttpServletRequest),这使Web层的单元测试更加简单。
- 可直接绑定到业务对象——Spring MVC不需要你的业务(模型)类来扩展任何特殊类;这使你能够通过将业务对象直接绑定到HTML表单字段来重用你的业务对象。事实上,你的控制器类是唯一需要扩展Spring类(或实现Spring控制器接口)的类。
- 可明确分离角色——Spring MVC很好地分离了构成此Web框架的各种组件所起的作用。例如,当我们讨论诸如控制器,命令对象和验证器之类的概念时,你将开始看到每个组件如何起着不同的作用。
- 可适应性控制器——如果你的应用程序不需要HTML表单,你可以编写一个更简单的Spring控制器版本,它需要所有表单控制器所需的额外组件。事实上,Spring提供了几种类型的控制器,每种控制器都有不同的用途。例如:无表单控制器,简单表单控制器,向导形式控制器,无控制器的视图,甚至是预包装的控制器,使你无需自己的自定义控制器就可以编写视图。
- 简单但功能强大的标签库——Spring标签库很小,直接,但功能强大。 例如,Spring使用JSP表达式语言(EL)作为lt;spring:bindgt;标签的参数。
- Web流程——此模块是一个子项目,不与Spring核心分发捆绑。它建立在Spring MVC之上,并增加了轻松编写跨多个HTTP请求的向导式Web应用程序(例如网络购物车)的功能。
- 视图技术和Web框架——尽管我们使用JSP作为视图技术,但Spring还支持其他视图技术,例如Apache Velocity(jakarta.apache.org/velocity/)和FreeMarker(freemarker.org)。这是一个强大的概念,因为从JSP切换到Velocity是一个配置问题。此外,Spring还为Apache Struts(struts.apache.org),Apache Tapestry(jakarta.apache.org/tapestry)和OpenSymphony的WebWork(opensymphony.com/webwork/)提供集成支持。
- 轻量级环境——正如我在上一章中提到的,Spring使你能够使用POJO构建企业级应用程序;环境设置可以更简单、成本更低,因为你可以使用更轻量级的servlet容器来开发和部署应用程序。
Spring Web MVC概念
Java的世界在过去几年中已经出现了许多基于MVC设计模式的Web框架(其中几个在本章末尾列出)。MVC最初是在1978-79时间段内在