11-22 SSM整合1

news2024/9/23 17:21:07

请求参数

(这里的形参数据都是SpringMvc注入的)

controller里的方法不是我们来调用的 是由SpringMvc的前端控制器所调用的(前端控制器调用了处理器 由处理器和适配器去调用我们controller里的方法),controller里的方法叫handler->处理器

SpringMVC的Controller方法形参数据类型:
Controller方法(处理器)是SpringMVc调用,形参的值由SpringMVC注入(传递参数)

 javaWeb核心的api接口对象

  • HttpServletRequest请求对象
  • HttpServletResponse 响应对象
  • HttpSession session对象
  • Model/ModelMap Model是一个接口,ModelMap是一个接口实现。作用:将model数据填充到request域。
  • ps:如果只是往域中存数据推荐用model/modelmap

kv键值对是我们的请求参数  之前写的通过?传值 表单传值都是kv键值对

而现在在springmvc里面使用conventer组件把数据绑定到我们的方法形参实现数据的传输

如果只是往request添加数据,推荐使用Model,而不直接注入Request对象,与JavaWeb解耦

 如果调用request对象其他方法,只能注入Request对象

TestController.java

1.参数注入

方法返回一个逻辑视图名

@controller:交给spring管理

@RequestMapping:加上前缀  然后这个方法呢可以注入javaWeb的核心api对象

以后写SpringMvc写javaWeb的东西东西时注入就行了

只有不转发之后才能展示

(写这个的用处:后期写的是java对象 用通过这种方式写数据)

请求参数 客户端请求参数时基于key/value对的方式 

当然了客户端请求参数:还可通过以json形式的方式

如果是key-value :我们只要在自己的方法形参定义参数来接收这个请求参数就可以了

前端传过来的时字符串类型 跨平台数据传输都是字符串格式的

字符串

但是对于这种数据我们需要一种协议、格式  来对我们我们的参数的值进行一个说明

参数的类型

1.简单数据类型 保证类型 int String 日期

2.自定义类类型 

3.集合类型

4.数据类型

简单数据类型

要求形参参数名与请求参数名一样(不一样会映射失败)

kv键值对用?传值

写一个controller我来接受这些传过来的参数

记得上面说的- >我们只要在自己的方法形参定义参数来接收这个请求参数就可以了

但是要求:要求形参参数名与请求参数名一样 spring可以进行数据类型转换

这是效果:而且他还会把String数据类型的id转换成int类型

特殊问题:如果是日期呢?

405:你发送的请求时post请求 但是我只能处理get请求

404:文资源找不到

400:参数有问题 错误的请求

原因:他无法解析日期 导致不能进行类型转换

如果前端传递时一个日期字符串, Controller方法使用日期类型接收,默认转换失败,报400错误

对日期类型,需要自定义转换器:

  1. 全局的日期转换器类,编写一个转换器类,在springMVC的配置文件进行配置
  2. 使用SpringMVC提供的日期转换注解,局部

方法一:全局的日期转换器类,编写一个转换器类,在springMVC的配置文件进行配置

1.实现接口

这个实现类交给spring管理 @Componnet

扫描这个包:

注册到注解驱动上

转换服务工厂bean  -> 

beans不用加扫描配置了  以及不用@Componnet了

添加一个bean

配置一个转换服务的工厂beanConversionServiceFactoryBean 需要在我们项目中导入这个依赖

这个类在spring-context-support

外部bean配置

内部bean配置

使用条件:只在外部bean内部使用或者需要其他地方使用

转换器此时已经注入到我们的转工厂服务bean 但是最终转换器是SpringMVC的前端控制器

它在请求参数传过来时,调用自己的conventer 把字符串转换为日期类型

下一步就是在SpringMVC的注解驱动上注册转换器服务 ConversionServiceFactoryBean

 优点:整登项目只需要配置一次,整个项目的所有日期类型都可以通过该转换器

缺点:配置繁琐

方法二:使用SpringMVC提供的日期转换注解,局部

去掉

把请求参数的日期字符串转换为Date类型

自定义类类型   pojo

登录页面:login.jsp

java写一个User对象 而你前端表单提交的数据可以映射到我这个User对象对应的属性上去

SpringMVC帮助你创建对象

之前方法形参名要与前端的请求参数名一样,如果不一样会返回null 映射不成功 现在我要求不一样

如果请求参数名与形参名不一样 默认会映射失败 使用注解进行手动映射 @RequestParam 而且这个注释还必要要传值来进行映射 不然会报错(不同于之前的)

@RequestParam注解的属性

  • name/value;请求参数名
  • required:是否必须有这个参数,默认值: true,如果没有这个参数,报错,如果false,如果没有参数,不报错,参数值: null
  • defaultValue:默认值

id不能重复 for的作用是关联id 

表单里的数据,我不能一个一个的去接收  就会很麻烦

springmvc提供了对象类型->类类型

此时SpringMVC会自动的把请求参数名映射到对应的属性名上去了,要求请求参数名与属性名一样就行了

改一下css样式:

注册不能时get请求 密码啥的都暴露了 用post

集合类型

多个User对象

inti()方法报错:没有构造方法

mybatis当中含有的包装类型  -> vo(前端传过来的)

数据的接收 需要我们后台服务器经行一个数据的封装来对接

拿到数据users  然后调用service里的方法把数据添加到我们的数据了

以后开发中,批量修改和批量添加需要时,可以用到这个。

后台Controller,把集合属性封装到一个类中 作为该类的一个属性

数组类型:

批量删除,批量查询(根据一组id)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1244392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pikachu(二)

CSRF (跨站请求伪造)概述 Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完…

JS数组常用的20种方法详解(每一个方法都有例子,超全面,超好理解的教程,干货满满)

目录 1.会改变原数组的方法(7种) 1.push() 2.pop() 3.unshift() 4.shift() 5.reverse() 6.sort() 7.splice() 2.不改变原数组的方法(13种,返回的新数组是从原数组浅拷贝来的) 1.concat() 2.join() 3.slice…

算法通关村第十二关-白银挑战字符串经典题目

大家好我是苏麟 , 今天带来字符串相关的题目 . 大纲 反转问题字符串反转K个一组反转仅仅反转字母反转字符串中的单词 反转问题 字符串反转 描述 : 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s的形式给出。 题目 : LeetCode 344. 反转…

【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列1

1 【MATLAB】科研绘图第一期点线图 %% Made by Lwcah %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLABSCI绘图教程敬请观看~%% 清除变量 clc; clear all; close all;%% 一幅图的时候figureWidth 8.5;figureHeight …

AI:87-基于深度学习的街景图像地理位置识别

🚀 本文选自专栏:人工智能领域200例教程专栏 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的代码,详细讲解供大家学习,希望可以帮到大家。欢迎订阅支持,正在不断更新中,…

VR云游:让旅游产业插上数字化翅膀,打造地方名片

自多地入冬降温以来,泡温泉成了许多人周末度假的选择,在气温持续走低的趋势下,温泉游也迎来了旺季;但是依旧有些地区温度依旧温暖,例如南京的梧桐美景也吸引了不少游客前去打卡,大家穿着汉服与金黄的树叶合…

【Hello Go】Go语言并发编程

并发编程 概述基本概念go语言的并发优势 goroutinegoroutine是什么创建goroutine如果主goroutine退出runtime包GoschedGoexitGOMAXPROCS channel无缓冲的channel有缓冲的channelrange和close单向channel 定时器TimerTicker Select超时 概述 基本概念 并行和并发概念 并行 &…

佳易王个体诊所病历登记系统查询软件教程

佳易王个体诊所病历登记系统查询软件教程 在开处方时可以随时查看该病人的历史病历。 软件功能: 1、配方模板:可以自由添加配方分类,预先设置药品配方,可以一键导入电子处方。 2、正常开药:可以灵活选择药品&#x…

什么是持续集成的自动化测试?

持续集成的自动化测试 如今互联网软件的开发、测试和发布,已经形成了一套非常标准的流程,最重要的组成部分就是持续集成(Continuous integration,简称CI,目前主要的持续集成系统是Jenkins)。 那么什么是持…

【图文详解】SiamFC++与图注意力的强强联合:单目标追踪系统

1.研究背景与意义 随着计算机视觉技术的不断发展,单目标追踪(Single Object Tracking, SOT)作为计算机视觉领域的一个重要研究方向,已经在许多实际应用中得到了广泛的应用。单目标追踪系统可以通过分析视频序列中的目标运动&…

【Typroa使用】Typroa+PicGo-Core(command line)+gitee免费图片上传配置

TyproaPicGo-Core(command line)gitee免费图片上传配置 本文是在win10系统下配置typroapicGo-Core(command line)gitee图片上传的教程。需要的环境和工具有: gitee账号,新建仓库及token令牌;已经安装了的typroa,需要0.9.98版本以上…

Python 字典(dict)基础学习

一、字典的基础定义(key:value)键值对 my_dict {"王力宏": 99, "周杰伦": 88, "林俊杰": 77} my_dict2 {} my_dict3 dict() print(my_dict) print(my_dict2) print(my_dict3) 字典基础定义 字典名 {key1:value1,key2:value2,key3:value3}…

shell 脚本的函数和数组

函数 —— 封装的一个公式:sin、cos、tan —— 函数为脚本的别名 —— 函数就是一个功能模块,在函数中写执行的命令即可;使用函数可以避免代码重复,增加可读性,简化脚本,使用函数可以将大的工程分割为若…

【C++初阶】STL详解(六)Stack与Queue的介绍与使用

本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…

UE5 中的computer shader使用

转载:UE5 中的computer shader使用 - 知乎 (zhihu.com) 目标 通过蓝图输入参数,经过Compture Shader做矩阵运算 流程 1. 新建插件 2. 插件设置 3. 声明和GPU内存对齐的参数结构 4. 声明Compture Shader结构 5. 参数绑定 6. 着色器实现 7. 分配 work gr…

【Spring】 IoCDI

回顾 企业命名规范 大驼峰:BookDao(首字母都大写) 类名 小驼峰:bookDao(第一个字母小写) 方法名 蛇形:book_dao(小写下划线_) 数据库 串形:book-dao(小写连字符-) 项目文件夹 各种注解 学习Spring MVC, 其实就是学习各种Web开发需要⽤的到注解 a. RequestMapping: 路由…

计算机中文编程工具构件之透明按钮,编程工具下载,零基础自学编程

计算机中文编程工具构件之透明按钮,编程工具下载,零基础自学编程 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,编程工具可下载。 这款工具不但可以连接部分硬件,而且可以开发大型的软件&am…

HashML——让更多企业读懂数据,用好AI

随着大模型技术的兴起,数据智能和AI正成为企业数字化转型的新驱动力。 酷克数据研发推出的新一代高级分析和数据科学工具箱HashML自推出以来,受到了众多企业和技术爱好者的广泛关注。在最近的直播中,我们邀请了HashData的数据科学工程师&…

目标检测算法 - YOLOv3

文章目录 1. Backbone Darknet-532. 整体架构3. 损失函数4. 训练过程5. 预测过程 YOLOv1、YOLOv2都是在CVPR这种正规的计算机视觉学术会议上发表的正式学术论文。 YOLOv3不算一篇严谨的学术论文,是作者随笔写的技术报告。 YOLOv3性能: 1. Backbone Dark…

七要素微气象仪气象数据监测助手

WX-WQX7 随着科技的发展,气象预测的准确性已成为人们日常生活的重要参考。而七要素微气象仪,作为新型的气象探测设备,以其精细化的数据测量和解析能力,正在改变我们的天气预测方式。 一、产品介绍 七要素微气象仪是一款集成了温…