首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ContentNegotiation内容协商机制(三)---视图View应用:ContentNegotiatingViewResolver深度解析【享学Spring MVC

前言 经过 前两篇 文章了解了Spring MVC内容协商机制之后,相信你已经能够熟练运用Spring MVC提供这项能力,配合RESTful发挥它功效了。...因为内容协商不仅仅可以使用在HttpMessage,还可以使用在View视图上,这也就是本文想重点补充内容。 内容协商HttpMessage应用 前两篇文章示例都是基于此。...里也使用到了,因此我自然而然联想到了内容协商也能结合视图解析器一起使用~ 内容协商视图View应用 由于前面我给示例都是基于Http消息,没有视图可言。...} } 我准备介绍案例时,为了便于对小伙伴对整个内容协商流程把控和理解,我提供如下这张执行原理流程图作为辅助理解(若图有错误可留言指出,多谢): ?...()、渲染内容、颜色都是不一样 说明:因为此处我只是模拟,所以我全部以匿名类来实现,各位小伙伴理解起来理论应该都没有啥障碍吧(有问题可给我留言~) 2、开启Spring MVC视图上对ContentNegotiation

1K10

SpringMVC笔记(1)

一、SpringMVC简介 1.1 MVC模型 MVC模型 MVC全名是Model View Controller,是模型(model)- 视图(view)- 控制器(controller)缩写,是一种用于设计创建...MVC中每个部分各司其职: 1、Model(模型): 通常指就是我们数据模型。作用一般情况下用于封装数据。 2、View(视图): 通常指就是我们jsp或者html。...作用一般就是展示数据。通常试图是依赖模型数据创建。 3、Controller(控制器) 是应用程序中处理用户交互部分。作用一般就是处理程序逻辑。...并且把数据填充到模型之中。此时除了js校验之外,服务器端也应该有数据准确性校验,那么校验就是控制器该做。当校验失败后,由控制器负责把错误页面展示给使用者。...它出现目的是为了使我们 URL 可以按照模块化管理: 方法: 请求 URL 第二级访问目录。 属性: value:用于指定请求 URL。它和 path 属性作用是一样

22220
您找到你想要的搜索结果了吗?
是的
没有找到

MVC与三层架构

这两者都很好理解,关键点在于Controller角色以及三者之间关系。MVC模式中,Controller和View同属于表现层,通常成对出现。Controller被设计为处理用户交互逻辑。...视图中其实没有真正处理发生,不管这些数据是联机存储还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵方式。  模型M  模型表示企业数据和业务规则。...MVC三个部件中,模型拥有最多处理任务。被模型返回数据是中立,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。...模型Model 模型是应用程序主体部分模型表示业务数据,或者业务逻辑. 实现具体业务逻辑、状态管理功能。  视图View 视图是应用程序中用户界面相关部分,是用户看到并与之交互界面。...小结 本章中,我们学习了MVC模式。MVC是一个非常重要设计模式,用于将应用组织成三个部分模型视图和控制器。 每个部分都有明确职责。模型负责访问数据,管理应用状态。视图模型外在表现。

2.9K40

JavaWeb:JavaWeb技术架构演进

,其把软件系统分为三个基本部分模型(Model)、视图(View)和控制器(Controller)。...不过 MVP 中 View 并不直接与 Model 交互,它们之间通信是通过 Presenter (MVC Controller)来进行,即使用 Presenter 对视图模型进行了解耦,...Struts 作为系统整体基础架构,负责 MVC 分离, Struts 框架模型部分,控制业务跳转; Hibernate 框架对持久层提供支持; Spring 做管理,管理 struts 和 hibernate...视图层通过提取用户输入信息,提交到控制器之后,控制器根据某种选择来决定这个请求交由给模型层来处理,模型层根据业务逻辑代码处理用户请求并返回数据,并最终用视图层展示给用户。...JavaWeb 基础的话,使用SpringBoot 过程中就容易出现没有遇到过错误,也不知道如何去解决。

1.4K20

Asp.Net MVC4入门指南(5):从控制器访问数据模型

强类型模型和 @model 关键字 本系列之前教程中,您看到了使用ViewBag对象,从控制器传递数据或对象给视图模板。ViewBag是一个动态对象,提供了方便后期绑定方法将信息传递给视图。...创建和编辑方法还有视图模板都在传递电影强类型模型对象。 看一下Index.cshtml视图模版和MoviesController.cs中Index 方法。...例如,Index.cshtml模板中,强类型Model对象使用foreach语句循环遍历电影列表: @foreach (var item in Model) { ...(如果您没有关闭连接,当您下次运行该项目时,可能会出现错误)。 ? 现在,您可以简单列表页面里,来显示数据库里数据了。在下一次教程中,我们会继续看看框架自动生成其它代码。...并添加一个SearchIndex方法和SearchIndex视图,使您可以在数据库中搜索电影了。从控制器访问数据模型MVC数据传递中重要知识部分,深入理解了这部分内容才能更好进行MVC开发。

4.2K50

一文搞懂MVC、MVP、MVVM架构模式

Alexander给出定义:每个模式都描述了一个我们环境中不断出现问题,然后描述了该问题解决方案核心。通过这种方式,可无数次地使用那些已有的解决方案,无需重复相同工作。...相互关系:架构 > 框架模式 > 框架 > 设计模式说明:框架模式是项目的总体架构,有时也叫设计模式,但是不同于编码设计模式,如MVC架构,只是一个设计概念,而框架是具体实现,框架设计中有用到了许多设计模式...视图中其实没有真正处理发生,它只是作为一种输出数据并允许用户操作方式。 M即model模型是指模型表示业务规则。MVC三个部件中,模型拥有最多处理任务。...被模型返回数据是中立模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型代码只需写一次就可以被多个视图重用,所以减少了代码重复性。...View层:Activity等等MVVM模式MVVM是Model-View-ViewModel简写。它本质就是MVC 改进版。

83800

软件概要设计与详细设计

偶然内聚(0分尽量不出现):模块内各部分没有联系,即使有也很松散 4、启发规则 (1)改进软件结构提高模块独立性 (2)模块规模应适中:通常语句行数50~100行(一页纸),最多500行 (3)深度、...通常模型对象负责在数据库中存取数据。 View(视图)是应用程序中处理数据显示部分。   通常视图是依据模型数据创建。 Controller(控制器)是应用程序中处理用户交互部分。   ...优点 耦合性低 视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用业务流程或者业务规则改变只需要改动MVC模型层即可。...给定一些可重用模型视图,控制器可以根据用户需求选择模型进行处理,然后选择视图将处理结果显示给用户。 缺点 没有明确定义 完全理解MVC并不是很容易。...使用MVC需要精心计划,由于它内部原理比较复杂,所以需要花费一些时间去思考。同时由于模型视图要严格分离,这样也给调试应用程序带来了一定困难。每个构件使用之前都需要经过彻底测试。

4.4K21

SpringMVC之入门

1.2、MVC模型 MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)缩写, 是一种用于设计创建 Web 应用程序表现层模式...MVC 中每个部分各司其职: Model(模型): 通常指就是我们数据模型。作用一般情况下用于封装数据。 View(视图): 通常指就是我们 jsp 或者 html。...作用一般就是展示数据。 通常视图是依据模型数据创建。 Controller(控制器): 是应用程序中处理用户交互部分。作用一般就是处理程序逻辑。...出现位置: 类: 请求 URL 第一级访问目录。此处不写的话,就相当于应用根目录。写的话需要以/开头。...订单模块: /order/add /order/update /order/delete /order/部分就是把 RequsetMappding 写在类,使我们 URL 更加精细。

50710

ASP.NET MVC 5 - 给数据模型添加校验器

Code First确保你模型指定class验证规则强制执行之前应用程序将变更储存在数据库中。...调用此方法将验证对象所有应用了验证约束属性。如果对象含有验证错误,则Create方法会重新显示初始form。如果没有任何错误,方法将保存信息到数据库。...下面是框架代码之前教程中生成Create.cshtml视图模板。它用来为以上两个操作方法来显示初始form,同时验证出错时来重新显示视图。...它们会自动查找模型中指定验证属性,并显示适当错误消息。 如果您想要在后面更改验证逻辑,您可以做在一个地方,将验证信息添加到模型。 (此示例中,是movie 类)。...ASP.NET MVC 5 - 将数据从控制器传递给视图 5. ASP.NET MVC 5 - 添加一个模型 6.

9K70

《Spring实战》读书笔记-第5章 构建Spring Web应用程序

深入介绍Spring MVC之前,让我们先总体介绍一下Spring MVC,并建立起Spring MVC运行基本配置。...5.2 编写基本控制器 Spring MVC中,控制器只是方法添加了@RequestMapping注解类,这个注解声明了它们所要处理请求。...如果不处理这种现象,将会出现安全问题。 从Spring 3.0开始,Spring MVC中提供了对Java校验API支持。...如果校验出现错误的话,那么这些错误可以通过Errors对象进行访问,现在这个对象已作为processRegistration()方法参数。...如果没有错误的话,Spitter对象将会通过保存,控制器会像之前那样重定向到基本信息页面。 5.5 小结 本章中,我们为编写应用程序Web部分开了一个好头。

1.4K30

唯一可行 iOS 架构

初见 MVC 尽管开发人员争论应该使用哪种体系结构,但 Apple 已经向我们提供了有关如何构建 iOS 应用程序说明,即 MVC。 ? View 是用户可以屏幕看到部分。...因为除了视图和数据外,还有很多不同逻辑,这显然应该由 Controller 完成。 Controller 负责管理其拥有的视图视图层次结构。他们响应视图加载,出现,消失等等操作。...由于许多应用程序逻辑不属于模型视图,因此通常会在控制器中处理。这导致了一个称为 Massive View Controller 问题,该问题中,视图控制器最终会做太多事情。...好了,在这种情况下,我们将根据 MVC 原理将表示和业务逻辑混合在一个不好类中。很难理解为什么有此代码。我们看不到该代码是针对哪个具体视图编写。最后,很难不同屏幕重用此模型。...MVC模型表示整个域模型。UIViewController 是 Presentation 部分

1.2K20

【ASP.NET Core 基础知识】--MVC框架--Models和数据绑定

视图(View)中,可以通过@model指令声明绑定到视图模型类型。 Razor视图引擎通过模型对象属性进行输出数据绑定,将模型数据渲染到HTML中。...2.4 视图模型绑定 ASP.NET Core MVC中,视图模型绑定是指将控制器传递给视图模型数据与视图元素进行关联过程。...以下是一些视图模型绑定基本概念和示例: 声明视图模型类型: 视图中,通过使用 @model 指令声明视图将要绑定模型类型。...这通常在视图开头部分完成,指定视图模型类型,例如: @model YourNamespace.YourModelType 模型数据绑定: 一旦声明了模型类型,视图可以通过 Model 属性来访问模型数据...模型验证器通常是模型属性应用验证特性,但有时你可能需要执行更复杂验证,例如涉及多个属性验证逻辑或依赖外部服务验证。

38910

论MVVM伪框架结构和MVC中M实现机制

同时也给那些深陷其中不能自拔小伙伴们敲敲警钟,以免其错误道路上越走越远。...MVC框架图 一个很可惜事实是不管是Android和iOS都只对C和V两部分进行了标准定义和实现:Android视图部分实现是定义了各种控件以及通过XML文件来组装视图布局界面,iOS视图实现也是定义了各种控件以及通过...这样C层就不会再出现XML或JSON解析以及直接读取报文代码了!而是把这部分代码挪到模型层了(大家来看啊,我终于应用上了MVC框架了!)。 好了!瘦身第一步成功。...优秀应用和框架并不在代码多寡,而是整体系统代码简单易读,各部分职责分明,容易维护调试 ------ MVVM被引入根本原因是对M层错误认识所引起 ------ MVC中M层实现准则 说了那么多...通过接口和实现分离我们还可以不改变原来实现基础,重新重构业务部分实现,同时这种模式也很容易MOCK一个测试实现,这样进行调试时可以很简单真实实现和MOCK实现之间切换,而不必每次都和服务器端进行交互调试

78430

【译】 ASP.NET 和 ASP.NET Core 之间共享代码

接下来部分中,我们将提供从用于演示 ASP.NET MVC3 MVC 音乐商店应用程序迁移 ShoppingCartController.cs 示例。...如果您修复了一个项目中错误,那么您需要相同修复程序出现在两个站点中。确保这种行为最简单方法之一是两个项目中共享同一个文件。...您可以共享模型 现在我们可以共享控制器,我们想要共享它们返回模型许多情况下,当我们通过向 csproj 文件添加另一个 来包含它们时,这才开始起作用。...下面是一个母版页,它混合支持来自 ASP.NET 子操作和来自 ASP.NET Core 视图组件,这样我们就可以渲染已知购物车中有多少商品页面部分。...如果您想要更详细指导来迁移整个 ShoppingCartController.cs,您可以 MvcMusicStoreMigration 使用示例进行完整演练。

4.5K20

高级前端开发者必会34道Vue面试题系列(一)

先看看下面这张经典MVC模型图,Model(模型)、View(视图)、 Controller(控制器)相互依赖关系部分组成模型。 ? 认识一下这三部分具体是指什么。...View View是视图,是将数据内容呈现给用户肉眼界面层,View层最终会将数据模型信息,渲染显示成人类能易于识别感知部分。...可以理解整个系统原先MVC基础View层进行细化,把整个前端项目当成一个View层,也可以从前端视角去看,Restful接口返回Json数据当成一个数据模型,作为MVCModel层,而前端Javascript...随着前端对于控制逻辑越来越轻量,MVVM模式作为MVC模式一种补充出现了,万变不离其宗,最终目的都是将Model里数据展示View视图上,而MVVM相比于MVC则将前端开发者所要控制逻辑做到更加符合轻量级要求...出现部分原因是想让开发者不直接使用Object这一类语言层面上方法,还有一部分原因也是为了完善一些功能。

1.6K20

MVC, MVP, MVVM比较以及区别

模型中数据变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此模型视图必须事先在此模型注册,从而,视图可以了解在数据模型发生改变。 View 视图层负责数据展示。...视图中一般没有程序逻辑。为了实现视图刷新功能,视图需要访问它监视数据模型(Model),因此应该事先在被它监视数据那里订阅Model事件。...被动MVC 中,与主动MVC区别在于: 1、模型视图和控制器一无所知,它仅仅是被它们使用 2、控制器使用视图,并通知它更新数据显示 3、视图仅仅是控制器通知它去模型取数据时候它才这么做(视图并不会订阅或监视模型更新...便于人才获取 MVC使用误区 1.把Model理解成实体类(Entity),MVC中Model应该包含2部分功能,一部分是处理业务逻辑,一部分是提供View显示数据 2.把业务逻辑全部放在Controller...ModelMVC架构中起作用非常重要,它应该是业务逻辑真正实现层。所以Model实际是Business Model(业务模型)。

2.6K100

【译】 ASP.NET 和 ASP.NET Core 之间共享代码

接下来部分中,我们将提供从用于演示 ASP.NET MVC3 MVC 音乐商店应用程序迁移 ShoppingCartController.cs 示例。...如果您修复了一个项目中错误,那么您需要相同修复程序出现在两个站点中。确保这种行为最简单方法之一是两个项目中共享同一个文件。...您可以共享模型 现在我们可以共享控制器,我们想要共享它们返回模型许多情况下,当我们通过向 csproj 文件添加另一个 来包含它们时,这才开始起作用。...下面是一个母版页,它混合支持来自 ASP.NET 子操作和来自 ASP.NET Core 视图组件,这样我们就可以渲染已知购物车中有多少商品页面部分。...如果您想要更详细指导来迁移整个 ShoppingCartController.cs,您可以 MvcMusicStoreMigration 使用示例进行完整演练。

4.9K30

Django学习笔记一初识Django

Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序修改和扩展简化,并且使程序某一部分重复利用成为可能...适合多终端运行同一套接口(PC、APP、小程序等) 本文中,对前后端不分离开发框架模型这里不作叙述,这里主要介绍前后端分离MVC模型和MVT模型。...1.2.2 MVC模型 体现:Java常用MVC模式,比如SpringMVC。 MVC部分解释 M/Model(模型):主要封装对数据层操作,对数据库数据进行增删改查操作。...图解 1.2.3 MVT模型 体现:Python中Django框架就是MVT MVT各部分解释 M/Model(模型):与MVCM功能相同,主要封装对数据层操作,对数据库数据进行增删改查操作...如果没有将IP地址添加到ALLOWED_HOSTS,则会出现如图错误: 我们需要将IP地址添加到settings.py中ALLOWED_HOSTS中。

62110

使用View Model从表现层分离领域模型

与其它设计模式不同,MVC 模式并没有直接反映一个你能够编写或配置类结构。相反,MVC 更像一个概念指导原则或范型。...概念 MVC 模式被描述为三个对象 —— Model、View 和 Controller —— 之间关系。...ASP.NET MVC应用程序中经常可以可以看到View Model,经常我们都认为领域模型视图模型是同一个东西。...上面讨论了领域模型视图模型相似性,我们来看看都有几种方式把领域模型转换为视图模型,通常有3种方法: 把领域模型当作视图模型来用,也就是领域模型就是视图模型,大部分都是这么用。...,或增加一个额外属性值,而这个并不是界面上元素,但却正好领域模型实体属性,这种风险叫做“over-posting”),即使对当前版本领域模型做了正确验证,领域模型将来可能做了变更修改,并没有出现编译错误或者警告

1.7K50

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券