集成Spring MVC框架外文翻译资料

 2021-11-25 10:11

英语原文共 11 页

C H A P T E R 11

集成Spring MVC框架

Java Servlet API为Web应用程序的开发提供了丰富且可定制的框架。但是,在专业的Java开发世界中,这往往是不够的。虽然Java Servlet API提供了用于与Web请求交互的低级接口和类,但高效的编程通常需要在核心servlet组件之上的抽象层。我们将在本章中看一个这样的框架:Spring MVC。在本章中我们将会介绍

描述模型 - 视图 - 控制器模式,它是Spring MVC的核心部分

讨论Spring MVC也实现的Front Controller模式

介绍Spring框架,其中Spring MVC是其中的一部分

通过添加模型,视图和控制器组件来实现和配置示例Spring MVC应用程序

介绍Spring MVC

Spring MVC是一个使用servlet开发Java Web应用程序的Java框架。它使用MVC设计模式来组织Web应用程序的结构。它还实现了Front Controller设计模式,以创建可配置且易于实现的Web组件。Spring MVC是Spring框架的一部分 - 一个流行的,多用途的开源Java框架。

在本节中,我们将讨论Spring MVC框架实现的每个设计模式,并介绍Spring MVC所属的Spring框架的核心原则。

Spring框架概述

Spring框架是一个轻量级的开源Java应用程序框架,旨在通过为Java企业应用程序提供基础结构或粘合代码,使应用程序开发人员能够专注于手头的功能问题。Spring是Rod Johnson的心血结晶,他首先在其中介绍了他的书Expert One-onOne J2EE设计与开发。在本书中,Johnson对当时的标准Java企业应用程序设计进行了批判性的研究,并就如何改进它发表意见。他为在书中实现的框架随后作为开源Spring框架发布,并且有大量Java专业人员分享他的观点,它迅速普及。今天,Spring是企业应用程序开发的首选Java框架,在复杂的生产环境中已经证明是成功的,并且比官方Java EE组件更受欢迎和更频繁使用。

Spring框架的核心部分是依赖注入容器,它是Inversion of Control设计模式的实现。它旨在帮

助开发人员和架构师从其贡献部分或组件组成复杂的应用程序。使用Spring,您可以将应用程序拆分为松散耦合的组件,并使用Spring的依赖注入容器将它们连接在一起,该容器管理所有组件的生命周期。Spring中的应用程序组件称为bean,它们使用XML或Java注释进行配置。所有配置的bean都在Spring容器中实例化和管理,通常称为Spring应用程序上下文。从配置创建bean时,Spring可以将每个bean传递(或注入)到其他bean,从而提供依赖注入功能。

除了这个核心功能之外,Spring还附带了许多其他组件,旨在帮助开发人员遵循Java应用程序的体系结构和实现中的最佳实践;例如,数据库访问和与流行的Java数据访问框架的集成,面向方面的编程支持,Java消息服务(JMS)集成,使用servlet和portlet的web应用程序的开发和设计,调度等。

Spring是非侵入式的,因此Spring管理的应用程序组件对Spring框架本身没有任何依赖性。非侵入性是Spring框架的一个重要特征;你的Java类根本不依赖于特定于Spring的类和接口。也就是说,即使Spring有很多非常有用和方便的组件,在你的代码中是否使用他们,选择权仍然在你自己手里。

Spring MVC代表Spring框架的一部分,旨在简化Java Web应用程序的开发。在下一节中,我们将探讨Spring MVC框架,以开发部署在Tomcat上的Web应用程序。

MVC模式

在面向用户的体系结构和开发之初,主要的挑战是如何在体系结构上对系统的用户界面部分进行建模。要求是将应用程序的用户界面的显示部分与其显示的数据分离给用户。例如,不同的用户界面组件有时会显示相同数据的不同视图(例如,HTML网页和PDF文件)。此外,用户界面通常是与平台相关的,你是否认为这是经常在Windows和Linux完全不同的桌面应用程序,例如,对于在桌面浏览器和移动设备上的不同的视觉表现的Web应用程序。 最后,用户界面的外观方面的开发通常与来自后端,以数据为中心的功能的完全不同的功能模块相关。

MVC于1979年由挪威奥斯陆大学的计算机科学家Trygve Reenskaug创立。它从用户界面的角度定义了应用程序的三个协作方面:模型,视图和控制器。

Model表示应用程序域模型的数据和行为。它包含呈现给用户的信息。它还用作通过用户界面执行的数据添加或更新的容器(例如,使用Web应用程序中的HTML表单提交的数据)。

View组件负责可视化显示数据。它将模型中包含的信息转换为所选的可视化表示,并且通常不包含任何逻辑。Web应用程序开发中的视图技术示例包括HTML,CSS和JavaScript。如果Java Server Pages与MVC原则一起使用,则它们可以被视为视图技术,因此它们没有任何业务逻辑,仅用于数据显示和检索。

200

第11章 集成spring mvc框架

Controller是负责响应用户操作的组件,并根据输入操作和查询模型,并使用模型中的数据呈现视图。在Java Web应用程序意义上,servlet可以被视为控制器组件:当用户单击链接或按下提交按钮时,该操作将调用servlet,该servlet对模型执行操作(加载或更新数据库中的数据,例如),并在用户的浏览器中呈现HTML视图。

意在Web应用程序中实现MVC模式时,跟着好的实例学习非常重要。业务逻辑应该封装在控制器中(或者更确切地说,从控制器委托给事务服务层),模型应该只包含数据,并且视图应该只有可视标记,没有任何业务逻辑。在Java Web应用程序开发中,这意味着JSP页面应该仅用于数据呈现和集合,而不需要任何嵌入式Java代码。应该从servlet(Controller)代码或其委托组件调用所有逻辑,例如数据库查询和更新。

图11-1说明了MVC模式的体系结构。

11-1 模型 - 视图 - 控制器模式

在用户界面开发中使用MVC模式有两个主要好处:

通过与模型分离的视图,可以在保持模型不变的情况下轻松维护多个视图。在Web应用程序设计中,例如,使用MVC模式,您可以开发可在标准桌面浏览器以及多个移动设备上访问的Web应用程序。

201

第11章 集成spring mvc框架

使用MVC可以轻松适应应用程序设计的变化。您可以将数据的表示更改为用户,而无需更改应用程序响应用户操作或数据本身的方式(例如,您可以通过更改HTML和CSS代码来更改网页的完整外观,而无需进行更改对servlet或数据库模式的任何更改)。此外,您可以对模型和控制器组件进行更改,而不会影响应用程序对用户的可见性。

在Spring MVC框架中,控制器组件用Controller接口表示,模型表示为包含键 - 值对集合的Java Map,其中值是存储在模型中的对象,然后在使用键查看。最后,视图可以配置为您喜欢的任何Web技术 - HTML,JSP,Freemarker等。

除了MVC模式之外,Spring MVC还采用了另一种重要的架构软件模式:Front Controller模式。

前控制器模式

Front Controller模式是Web应用程序体系结构中的流行模式。除了Spring MVC之外,许多其他Web框架都实现了这种模式,包括Ruby on Rails和PHP框架,如Cake PHP和Drupal。Servlet过滤器也是Front Controller模式的实现。

Front Controller模式的主要原则是Web应用程序的所有Web请求都由单个入口点处理。此中央入口点称为前端控制器,其作用是将请求路由到应处理它的特定Web应用程序组件。在特定处理程序完成处理请求之后,控件返回到前端控制器,前端控制器负责将Web响应发送回调用客户端。除了将请求路由到专用处理程序之外,前端控制器还负责所有常见的Web应用程序功能:例如,会话处理,缓存和过滤请求。

图11-2说明了前端控制器模式架构。

11-2。前端控制器模式的体系结构

对于Spring MVC框架,这个入口是在org.springframework.web.servlet.DispatcherServlet类中实现的Java servlet。

在下一节中,我们将使用Spring MVC框架来开发和配置示例Web应用程序。

202

第11章 集成spring mvc框架

Spring MVC Web应用程序

Spring MVC框架使用经过验证的MVC和Front Controller模式来指导开发人员在Web应用程序开发中使用最佳实践。Spring MVC包含许多组件,这些组件配置为一起工作以创建有效的Web应用程序。图11-3说明了Spring MVC应用程序的内部工作原理。

11-3。Spring MVC应用程序架构

DispatcherServlet(Spring MVC实现中的前端控制器)处理所有传入的客户端请求。然后,它根据处理程序映射委托Spring的Controller组件(或处理程序,有时称为处理程序)处理每个请求。在请求处理期间,控制器可以与任何配置的Spring bean协作。完成后请求

203

第11章 集成spring mvc框架

处理时,控制器将ModelAndView的实例返回给DispatcherServlet。ModelAndView是MVC模式中模型和视图组件的spring抽象,它包含数据(模型)和视图模板。然后,DispatcherServlet使用ViewResolver Spring组件加载视图模板并使用模型数据呈现它 - 渲染的视图最终被发送到客户端(例如,作为浏览器中的HTML页面)。在本节中,我们将学习如何使用这些Spring组件。

大多数组件都可以在Spring MVC中使用,我们需要做的就是为我们的Web应用程序添加配置。开发人员需要实现的关键部分是视图和控制器。Spring MVC支持几乎所有Java中可用的视图技术:JSP,Freemarker,Velocity和Flex。在本节中,我们将使用JSP作为我们的视图技术。Spring MVC中的控制器实现为普通旧Java对象(PO​​JO),具有特定于Spring的注释。

在以下部分中,我们将指导您完成Spring MVC Web应用程序的配置和基本实现。让我们从配置DispatcherServlet开始。

配置DispatcherServlet

DispatcherServlet是我们要为Spring MVC Web应用程序配置的唯一servlet。它的配置与web.xml文件中的任何其他servlet类似。清单11-1显示了DispatcherServlet的示例配置。

单11-1。Spring MVC的DispatcherServlet在web.xml中配置为Front Controller

lt;?xml version='1.0' encoding='ISO-8859-1'?gt; lt;web-app xmlns='http://java.sun.com/xml/ns/javaee'

xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd' version='3.0'gt;

lt;display-namegt;Chapter 11lt;/display-namegt;

lt;descriptiongt;Spring MVC Demolt;/descriptiongt;

lt;servletgt;

lt;servlet-namegt;chapter11lt;/servlet-namegt;

lt;servlet-class

org.springframework.web.servlet.DispatcherServlet #1

lt;/servlet-classgt;

lt;load-on-startupgt;1lt;/load-on-startupgt;

lt;/servletgt;

lt;servlet-mappinggt;lt;/

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。