MVC框架中英文对照外文翻译文献.docx
《MVC框架中英文对照外文翻译文献.docx》由会员分享,可在线阅读,更多相关《MVC框架中英文对照外文翻译文献.docx(39页珍藏版)》请在三一办公上搜索。
1、MVC框架中英文对照外文翻译文献中英文对照外文翻译文献 (文档含英文原文和中文翻译) 译文: Web 2.0下的Spring MVC框架 摘要 - 当要建立丰富用户体验的WEB应用时,有大量的WED应用框架可以使用,却很少有该选择哪一种的指导。WEB 2.0应用允许个体管理他们自己的在线网页,并能与其他在线用户和服务器共享。这样分享需要访问控制器来实现。然而,现有的访问控制器解决方案不是令人很满意。因为在开放且由用户主导的WEB环境下,它满足不了用户的功能需求。MVC框架是在所有的WEB开发框架中最受欢迎的。模型-视图-控制器是一种软件架构,如今被认为是一种体系结构在软件工程模式中使用。该模式
2、从用户界面分离出了“领域逻辑”,它允许独立地开发,测试和维护每个分离的部分。模型-视图-控制器模型创建的应用分离为不同的层次应用,同时在每两者之间建立松散的耦合。 关键字 - Spring MVC, 结构, XStudio, SOA, 控制器 I.绪论 如何确切地定义一个网站为“WEB 2.0”的呢?关于这有着许多不同见解,使它很难精确地下一个确切的定论。但当我们将所有的WEB开发框架过一遍之后它就会变得清晰了。各种基于WEB开发的架构如下: l Ntier架构 在软件工程中,多层架构是一种表示层,应用处理层和数据管理层在逻辑上分开处理的客户端-服务器架构。例如,一个应用在用户与数据库之间使用
3、中间件提供数据请求服务就用到了多层体系结构。最为广泛应用的多层体系结构是三层架构。N-tier应用架构为开发者提供了用来创建了一个灵活且可复用的模型。通过打破应用层次,开发者只需修改或添加一个特定的层,而不是要去重写一遍整个应用。它需要有一个表示层,一个业务层或者数据访问层和一个数据层。层和层(tier)之间的概念常常是可以互换的。 l 服务导向架构 在软件工程中,服务导向架构是一套原则,是一种软件设计开发的方法,基于以可互操作服务形式。这些服务是明确的业务功能,由可重用于不同方面的软件组件组成。SOA设计原则被应用到了系统开发和集成的各个阶段。SOA也普遍为消费者的服务提供了一种方式,如基于
4、WEB的应用,以了解可用的基于SOA的服务。例如,一个公司的几个不同部门可能开发和部署了SOA服务在不同的实现语言;他们各自的客户通过访问公开,良好定义的接口能从中获益。XML经常用于SOA服务接口,即使它不是必要的。JSON也开始变得很常见。 l MVC架构 MVC是来自Hyfinity的一种新生代的开发应用和集成工具。基于原生XML,MVC能够使企业规模、基于浏览器的应用快速的开发。为了快速组装完整的交互式应用程序,MVC提供了直观的图形化IDE。其中一个使MVC区别于大多数传统方法的关键是信息流的概念,它保留了所采集的基于文档的信息,通过数据绑定和路由校验。这些全部使用原生XML执行。
5、MVC使用XStudio来开发XML应用,使用XPlatform来运行产生的应用。MVC主要关注交互式自助应用的发展和使用包括以FromMaker闻名的XStudiio在内的工具来建立完整的WEB应用。 II. MVC架构 正如我们在之前章节所讨论的,普遍认为一个应用应有三个主要层次:表现层,应用逻辑,和资源管理。在MVC中,表现层划分为了控制器和视图。最重要的分隔在于表现层和应用逻辑之间。视图/控制器的分隔相对较少。MVC包含的不仅仅是架构的应用还有典型的设计模式。因此结构模式之类的术语可能被用到,再或者是集合设计模式。 l 模型 以特定领域来表现应用操作的信息。模型是应用逻辑层)的另一种称
6、呼。应用逻辑丰富了原始数据的意义。许多应用利用现有的存储机制来存储数据。MVC并没有特意提及资源管理层次,因为它被理解为底层的或者封装的模型。 l 视图 使模型渲染到表单适合于交互,典型的是一个用户的界面元素。在WEB应用中经常看到的MVC中,视图是HTML页面和为页面采集动态数据的代码。 l 控制器 处理和相应事件,尤其是用户actions,并且可能调用模型和视图的变化。 虽然MVC有不同的特性,控制流程一般如下: 1.用户以某种方式与用户界面进行交互。 2.一个控制器处理来自用户界面的输入事件,经常通过注册操作或回调。 3.控制器访问模型,可能采用适当用户的action方法来更新它。复杂的
7、控制器通常被设计使用命令模式封装action和简化继承。 4.一个视图使用模型来生成一个合适的用户界面。视图从模型中得到自己的数据。模型与视图没有直接关联。 5.用户界面等待进一步用户交互后开始新的循环。 以上数字概述的模型,视图和控制器之间的关系由基于以下。 A.实现策略 SpringMVC框架是基于分派请求操作的分发器设计的。有着可配置的处理器映射、视图解析器、本地化和主题解析器同时支持上传文件。 B.SpringMVC的特性 n 明确分工。每个角色控制器,校验器,命令对象,表单对象, 模型对象, 分发器,处理器映射, 视图解析器等等都有专门的对象来实现。 n 将框架类和应用类作为Java
8、Beans的配置强大且直接明了。包括通过应用上下文配置中间层引用,例如从WEB控制器到业务对象和校验器。 n 适用性,不受干扰性,和灵活性。根据给定场景,用一些参数注解来定义你需要的控制器方法。 n 可复用业务代码,无需复制。使用已有的业务对象作为命令对象或者表单对象而不是通过映射来继承特殊的框架基类。 n 可定制的绑定和校验。将类型不匹配作为应用级别校验错误,能保留值,本地化日期和数字绑定等,而不是使用需要手动解析并转换业务对象的且只是字符串的表单对象。 n 可定制的处理器映射和视图解析器。处理器映射和视图解析器策略的范围从简单的基于URL的配置到复杂的专用解析策略。Spring比WEB M
9、VC框架更加灵活在授权一个特定技术上看来。 n 灵活的模型传输。模型传输是支持根据名字/值的Map,很容易集成任何视图的技术。 n 可定制的本地化和主题解析,支持JSP,无论是否使用Spring标签库,支持JSTL,支持不需要额外过度的Velocity等等。 n 一个简单且强大的JSP标签库称为Spring标签库,提供的功能如数据绑定和主题。定制标签允许最大程度的灵活性就标记代码而言。 n 在Spring2.0中引入的一种JSP表单标签库能使在JSP界面中写表单更便捷。 n Beans的生命周期范围是当前HTTP请求或HTTP会话。它并不是Spring MVC本身具体特征,而是Spring M
10、VC使用了WebApplicationContext容器的。 图1.MVC架构 C.可插拔性的其他MVC的实现 如果你不想使用Spring的WEB MVC,但打算使用Spring提供的其它功能,你可以很容易地将你选择的WEB MVC框架和Spring整合。直接通过Spring的Context-LoaderListener启动一个Spring根应用上下文,通过它的ServletContext属性来访问来自Struts或者WebWork的action。没有plugins参与, 所以也没有针对它整合的必要。从WEB层的角度看,你只要使用Spring作为库,带有根应用上下文的实例作为切入点。 你所注册
11、的beans和Spring的服务随时可访问及时在没有Spring的WEB MVC的情况下。Spring并没有在这种情景下与Struts或者WebWork竞争。它只是提供了纯WEB MVC框架在很多领域所不具备的,从bean配置到数据访问和事务处理。所以你可以用Spring中间层和/或数据访问层来丰富你的应用,及时你只是想使用,好比,JDBC和Hibernate这样的抽象事务管理。 Spring的WEB MVC框架同很多其他的WEB框架一样,是由请求驱动的。围绕着一个能将请求分发到控制器的servlet设计,它还提供其他有利于WEB应用开发的功能。然而Spring的分法器所做的不仅如此。它完整的
12、整合了Spring Ioc容器使你能够使用Spring所具有的其他功能。 Spring Web MVC分发器的请求处理工作流在下方的图说明。模式理解阅读器会识别分发器是“前端控制器”设计模式的表达式。 分发器是一个真正的Servlet,并同样要在你的web应用的web.xml文件中声明。你需要映射你想让分发器处理的请求,通过在同个web.xml文件中使用URL映射。这是标准的J2EEservlet配置。 . example org.springframework.web.servlet.DispatcherServlet 1 example *.form 在上面的例子中,所有以.form结尾的
13、请求会被exampleDispatcherServlet处理。这只是配置Spring WEB MVC的第一步。你现在需要使用Spring Web MVC框架配置各种beans。当初始化一个分发器,框架会查找一个名为servlet-name-servlet.xml在你的Web应用的WEB-INF目录下并创建里面所定义的beans,重定义所有全局同名定义的beans。 图2.请求处理工作流 Spring分发器使用特有的beans来处理请求和显示相应的视图。这些beans就是Spring框架的一部分。你可以在WebApplicationContext中配置它们,配置方式就象配置其它bean的方式一样
14、。然后,对于大多数bean来说,已经提供了合理的缺省配置,所以你最初不需要配置它们。 在你启动好分发器后,且有一个请求触发了指定的分发器,接下来分发器按以下步骤处理请求: 1.查找WebApplicationContext,并绑定该请求成为一个属性,使控制器和其他处理器在处理过程中能使用。缺省绑在分发器.WEB_APPLICATION_CONTEXT_ATTRIBUTE这个关键字上。 2.绑定本地化信息解析器到请求上,使处理过程中的处理器在处理请求时能解析本地化信息。如果你不需要本地化信息解析器,就忽视它。 3.绑定主题解析器到请求上,让视图之类的元素能决定使用哪个主题。如果你不需要主题,你可
15、以忽视它。 4.如果你指定了多文件解析器,请求会被检测是否使用了multiparts;若是,请求会保存到MultipartHttpServletRequest中,以便处理过程中的其他处理器进一步处理。 5.查找合适的处理器。如果找到,为了准备模型数据或渲染视图,与该处理器相关的执行链会被执行。 6.如果模型返回数据,就显示视图。否则,无视图显示,因为请求已经被结束。 III. 控制器实现 Spring 2.5引入了基于注解的编程模型,MVC的控制器可以使用诸如RequestMapping, RequestParam, ModelAttribute等注解。注解能同时支持Servlet MVC和P
16、ortlet MVC。这种方式实现的控制器无需继承指定的基类或者实现指定的接口。而且,它们通常不直接依赖于Servlet或Portlet APIs,但你可以很配置访问到Servlet或Portlet设置。 Controller public class HelloWorldController RequestMapping(/helloWorld) public ModelAndView helloWorld ModelAndView mav = new ModelAndView; mav.setViewName(helloWorld); mav.addObject(message, Hell
17、o World!); return mav; 你能够看到,Controller和RequestMapping注解允许灵活的方法名和签名。在这上面的例子中的方法没有参数,返回一个ModelAndView,但还有其他各种策略的存在,会在本章后面介绍。ModelAndView,Controller,和RequestMapping是Spring MVC实现的基础组成。这章节文档会介绍这些注解如何普遍的在Servlet中应用。 Controller表明一个独有的类为一个控制器服务。Spring不要求你继承任何控制器的基类或引用Servlet API。然而,你仍能引用你需要的Servlet其他的功能。Co
18、ntroller注解以固定注解类形式来表明它的角色。分发器就可以通过该注解来获取这个类中带有RequestMapping注解的方法。你可以明确的注解控制器bean,通过在分发器上下文中使用标准的Spring bean定义。然而,Controller模式也允许自动侦测,在类路径中匹配Spring的公共侦测组件类并为他们自动注册bean定义。要实现注解控制器自动探测,需要在配置文件中加入探测组件。 A.用RequestMapping映射请求 使用RequestMapping注解来映射就像/appointments这样的URLs到整个类或特定的处理方法。一般来说,类级别的注解映射特定的请求路径到表单
19、控制器上,而方法级别的注解只是映射为一个特定的HTTP方法请求或HTTP请求参数。下这个例子显示了在Spring MVC应用中的一个控制器使用该注解: Controller RequestMapping(/appointments) public class AppointmentsController private final AppointmentBook appointmentBook; Autowired public AppointmentsController(AppointmentBook appointmentBook) this.appointmentBook = appo
20、intmentBook; RequestMapping(method = RequestMethod.GET) Public Map get return appointmentBook.getAppointmentsForToday; RequestMapping(value=/day, method = RequestMethod.GET) public Map getForDay(PathVariable RequestMapping(value=/new, method = RequestMethod.GET) public AppointmentForm getNewForm ret
21、urn new AppointmentForm; RequestMapping(method = RequestMethod.POST) public String add(Valid AppointmentForm appointment, BindingResult result) if (result.hasErrors) appointmentBook.addAppointment(appointment); return redirect:/appointments; return appointments/new; return appointmentBook.getAppoint
22、mentsForDay(day); DateTimeFormat(iso=ISO.DATE) Date day, Model model) 在例子中,RequestMapping在多处使用到。第一种用法在类级别上,表明该控制器中的所有处理方法与/appointments路径有关。get方法进行进一步RequestMapping细化配置:它只接受GET请求,也就意味着只有/appointments路径下的HTTP GET请求才调用该方法。post方法有类似的细节,通过 getNewForm方法与HTTP方法和路径的定义合而为一,/appointments /new的GET请求能够处理该方法。 B
23、.支持的处理方法参数和返回类型 RequestMapping注解的处理方法拥有十分灵活的签名。大多数可以不按顺序的使用。 l 请求或响应对象,选择任意指定的请求或响应类型,例如ServletRequest或HttpServletRequest。 l 会话对象:HttpSession类型的。这种类型的参数强转成一个相应存在的session。所以,这样的参数绝不会为空。 l PathVariable 注解方法参数并将其绑定到URI模板变量的值上。 l RequestParam对访问指定Servlet请求的参数注解。参数值转化成方法中声明的类型。 l RequestHeader对访问指定的Servl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MVC 框架 中英文 对照 外文 翻译 文献
链接地址:https://www.31ppt.com/p-3061754.html