ModelAndView,Model和httpServletRequest

2023-11-19

一、参数绑定

1.默认支持类型

springmvc中,有支持默认类型的绑定,也就是说,直接在controller方法形参上定义默认类型的对象,就可以使用这些对象。

  1. HttpServletRequest对象
  2. HttpServletResponse对象
  3. HttpSession对象
  4. Model/ModelMap对象

    在参数绑定过程中,如果遇到上面类型就直接进行绑定。也就是说,我们可以在controller的方法的形参中直接定义上面这些类型的参数,springmvc会自动绑定。这里要说明一下的就是Model/ModelMap对象,Model是一个接口,ModelMap是一个接口实现 ,作用是将Model数据填充到request域,跟ModelAndView类似。

2.简单类型的绑定

    方法形参上使用具体参数类型时,需传入参数类型完全一致才能完成参数绑定,使用@RequestParam注解,可完成不确定长参数数量的绑定

 二、传值和寻址

    Model 或者 ModelMap 只是传值,springmvc自动创建,同request,response,session,它没有寻址的功能,若要寻址,需在controller中return "静态页地址";Model传值的方法是setAttribute(key,value)

    ModelAndView与Model最大的区别是它可以寻址,也可以带值,但是springMvC不会自动帮我们创建,需要我们去new ModelAndView(); 传值方法为addObject(key,value), 寻址方法为setViewnName("静态页路径")

三、httpServletRequest

    Web服务器收到一个http请求,会针对每个请求创建一个HttpServletRequest和HttpServletResponse对象,向客户端发送数据找HttpServletResponse,从客户端取数据找HttpServletRequest.

为什么大多程序在controller中给jsp传值时使用model.addAttribute()而不使用httpServeletRequest.setAttribute()?

    事实上model数据,最终spring也是写到HttpServletRequest属性中,只是用model更符合mvc设计,减少各层间耦合。

 

参考https://blog.csdn.net/weixin_41573005/article/details/86667904

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ModelAndView,Model和httpServletRequest 的相关文章

  • 如何将TFLite模型转换为量化TFLite模型?

    我有一个 tflite 文件 我想对其进行量化 如何将TFLite模型转换为量化TFLite模型 请注意 您需要源模型来对其进行量化 由于 tflite 模型格式的限制 无法对其进行量化 您的源模型可以是 TF saving model K
  • django 更新时的模型验证

    我创建了一个名为 Term 的模型及其验证器 如下所示 from django db import models from django contrib auth models import User from django core ex
  • Rails 验证虚拟属性

    我这个型号 class Bunny lt ActiveRecord Base attr accessor number validates presence of number validates numericality of numbe
  • 设计模式 - Objective-C - MVC 模型视图控制器

    您好 我已经阅读了网上有关 MVC 的教程 并且已经阅读了此处的主题 我想我已经了解了 MVC 的概念 但我不确定它的实现 我尝试将其应用于一个简单的程序 一个带有标签和按钮的窗口 该按钮增加一个计数器 标签显示它的值 我尝试了两种不同的方
  • Laravel:每当我返回模型时,总是返回与它的关系

    我有 2 张桌子 User Doctor id id email user id name signature last name photo password description date birth Every Doctor与一个有
  • zend 模型架构

    假设我的数据库中有两个表 项目和用户 我创建了两个扩展 Zend Db Table Abstract 的模型 Model DbTable Users and Model DbTable Projects 现在 创建一个实例是一个好的模式吗
  • Rails 在模型中验证值在数组内

    我有一个表格 我可以在其中传递一个字段命名 type我想要检查它的值是否在允许类型的数组内以便任何人不得发布不允许的类型 数组看起来像 allowed types type1 type2 type3 type4 type5 type6 ty
  • Django与领域和自身的多对多关系独特

    我尝试使用语言和内容创建帖子 并将其与同一页面的其他版本相关联 但我陷入困境 class Page models Model content models TextField language models CharField max le
  • Django,多表继承有那么糟糕吗?

    这并不是 django 特有的 一罐模型 Place with location name and other common attributes Restaurant menu ConcertHall hall size 在两个单独的表中
  • 无法销毁多对多关系中的记录

    我是 Rails 新手 所以我确信我犯了一个简单的错误 我在两个模型之间建立了多对多关系 User and Group 它们通过连接模型连接GroupMember 这是我的模型 删除了不相关的内容 class User lt ActiveR
  • 如何从 model+ModelForm 获取文本区域?

    模型 py gt from django db import models from django forms import ModelForm from datetime import date import datetime from
  • Rails:尝试渲染为 JSON 时 attr_accessor 不显示

    在我的应用程序中 我有一个如下的模型 class Init lt ActiveRecord Base attr accessor clientAvailability attr accessible returnCode returnMes
  • 如何将 Request->all() 与 Eloquent 模型一起使用

    我有一个 lumen 应用程序 需要在其中存储传入的 JSON 请求 如果我写这样的代码 public function store Request request if request gt isJson data request gt
  • 如何让两个模型互相引用 Django

    我有以下代码 class Game models Model title models CharField max length 50 summery models CharField max length 500 key models I
  • 使用ActiveRecord,有没有办法在after_update期间获取记录的旧值

    使用一个简单的示例进行设置 我有 1 张桌子 Totals 保存了总和amount第二个表中每条记录的列 Things When a thing amount更新后 我想简单地将旧值和新值之间的差异添加到total sum 现在我正在减去s
  • 如何在 Laravel 中基于迁移文件制作模型

    我已经创建了一个迁移 我想根据迁移文件制作一个模型 这可能吗 如果是这样 该怎么办 这是不可能的 到目前为止 您最多可以通过运行以下命令同时创建迁移和模型 php artisan make model ModelName m
  • Keras 中的 model.fit() 和 model.evaluate() 有什么区别?

    我使用 Keras 和 TensorFlow 后端来训练 CNN 模型 之间是什么model fit and model evaluate 我应该最好使用哪一种 我在用model fit 截至目前 我知道的用处model fit and m
  • 在 Ember 中将模型属性插入 Img 元素 URL

    我有一个模型image id财产 我有一个包含图像元素的模型视图 我需要将 id 插入图像元素的src属性来完成图像的 URL 以便我有效地执行此操作 img src 我的第一次尝试使用了 Handlebars 助手 img src 但这也
  • 将 Django 模型映射到外部 API

    上下文 我有一个外部 API 提供数据并允许发布新数据或修补现有数据 API 响应示例 response requests get http api band 4 print response json id 4 name The Beat
  • 如何从模型调用辅助方法?

    我使用 MongoDB 作为我的 Rails 应用程序中的数据库和 MongoID gem 我想从模型中调用辅助方法after create回调方法 这怎么可能 我的模型代码是 class Department include Applic

随机推荐

  • vue项目部署方式:tomcat部署和nginx部署

    LINUX 发布 VUE项目 关于vue部署 1 nginx转发 一般项目前后端分离得话 都会用nginx作为反向代理转发的 因为项目要兼容ie9 使用axios发ajax请求的时候 不能通过CORS解决跨域的问题 所以尝试部署nginx作
  • 阿里云CDN架构接入WAF应用防火墙案例实践

    文章目录 1 网站架构变化 2 配置WAF应用防火墙 2 1 配置网站接入WAF防火墙 2 2 WAF防火墙生成CNAME地址 2 3 配置WAF防火墙HTTPS证书 2 4 WAF防火墙开启HTTP回源SLB 3 配置CDN加速器回源WA
  • 高德地图之地理编码

    首先申明是地理编码呢 地理编码 又称为地址匹配 是从已知的地址描述到对应的经纬度坐标的转换过程 该功能适用于根据用户输入的地址确认用户具体位置的场景 常用于配送人员根据用户输入的具体地址找地点 既地理编码 地址转坐标 下面一步步来看怎么实现
  • 面试题——Java中的锁

    文章目录 谈谈你对线程安全的理解 1 synchronized 关键字是怎么用的 1 1 构造方法可以使用 synchronized 关键字修饰么 1 2 使用 String 作为锁对象 会有什么问题 1 3 synchronized 的底
  • 单元测试到底是什么?应该怎么做?

    一 什么是单元测试 单元测试 unit testing 是指对软件中的最小可测试单元进行检查和验证 至于 单元 的大小或范围 并没有一个明确的标准 单元 可以是一个函数 方法 类 功能模块或者子系统 单元测试通常和白盒测试联系到一起 如果单
  • 微信小程序open-data组件功能调整

    这里我开源了一个微信小程序的案例 https gitee com xiaoshixiaoran wechat applet 相关后台接口我会有空用SSM重写一遍再挂上去 由于微信小程序官网在2021 12 27号发布了组件功能调整 原来的获
  • 1-100之间的所有能被3整除的数字的和,偶数和奇数的和 ,平均值

    1 求 1 100 之间的所有平均值 需要一个 sum 和的变量 还需要一个平均值average变量 var sum 0 var average 0 for var i 1 i lt 100 i sum sum i average sum
  • 配置SourceTree

    一 从官网下载安装包 二 添加账户 选择这一个 否则看不到private仓库 用户名是自己github的用户名 密码需要在github生成 在这个位置点击 配置权限后就成功了 然后输入密码就行
  • HarmonyOS-开发避坑指南——源码下载和编译,企业级项目实战讲解

    安装文件系统打包工具 运行 mkfs vfat 如果未找到该命令 需要安装 运行 mcopy 如果未找到该命令 需要安装 sudo apt get install dosfstools mtools 官方文档说明的两个文件系统打包工具sud
  • windows终端的bash配置

    个人记录 现在json文件中加入 guid 00000000 0000 0000 ba54 000000000002 closeOnExit true commandline PROGRAMFILES git usr bin bash ex
  • 牛客网左神算法中级班学习笔记(第三章)

    本文是牛客网左神算法中级班学习笔记 分析 宏观考虑 搞两个点A B 起始都在左上角 B往右走 走到最右边就往下走 A往下走 走到最下边就往右走 A B每次一起走一步 打印A B两点连线即可 用一个Boolean控制下 交替打印顺序 publ
  • java简易聊天程序

    目录 项目结构 TCP 窗体组成 server client properties 项目结构 TCP 窗体组成 server package cn itcast chat import javax swing import java awt
  • ChatGPTBox 沉浸式的感受ChatGPT带来的快感

    ChatGPT基础功能 1 自然流畅的对话 ChatGPT通过对海量对话数据的学习 具有自然流畅的对话能力 能够与用户进行逼真的自然语言交互 2 能够理解语境 ChatGPT能够理解语境 不仅能根据上下文生成回答 还能识别当前对话的主题 更
  • LabVIEW 读写和缩放音频文件

    LabVIEW 提供了多种方式来读取和写入 WAV 格式的音频文件 完成本模块后 您将能够使用位于 Programming Graphics Sound Sound Files 中的 Simple Read 和 Simple Write 用
  • 感性是什么意思

    感性是什么意思 2005 09 25 15 55 xinghuali 分类 恋爱 有人说自己很感性 不知到底是什么意思 人在这方面分两种 一种是理性 一种就是感性 理性是很理智的那种 就是做事都依据道理 不会冲动 而感性的就是凭着感觉来的那
  • 如何让学习变得有效率

    最近一直在反思这样一个问题 为什么我的学习如此的没有效率 来提高班近三年的时间 我几乎都在全日制学习中度过 可是我的速度并不快 原因在哪 在这里学习 米老师一遍遍强调 如何学习 如何打包 全局观才是我们在这里真正应该学的 可这些在我这些年的
  • redis HyperLogLog原理

    假设现在有一个这样的需求 我们想要实时统计有多少用户访问我们的网站 一个简单的解决方案是用一个set集合来存储用户ID 然后计算任意时刻集合中不同ID的个数即为网站实时访问量 这是一种简单可行的做法 但是假如这个网页访问量很大加上随着时间推
  • C++琐碎知识整理

    C 琐碎知识整理 二 1 C 与C一样 用终止符 terminator 将两条语句分开 终止符是一个分号 它是语句的结束标记 是语句的组成部分 而不是语句之间的标记 所以C 语句一定不能省略分号 2 通常 main 被启动代码调用 而启动代
  • HTML innerHTML属性用法及分析

    innerHTML 设置或返回表格行的开始和结束标签之间的 HTML 看它的英文单词也可以明白就是里面的字符按html标记的语言格式取出来或重新设置 innerHTML属性w3c标准不支持的 但是各大浏览器支持它的实现 innerHTML的
  • ModelAndView,Model和httpServletRequest

    一 参数绑定 1 默认支持类型 springmvc中 有支持默认类型的绑定 也就是说 直接在controller方法形参上定义默认类型的对象 就可以使用这些对象 HttpServletRequest对象 HttpServletRespons