首页 > 其他分享 >SpingMvc-Day02

SpingMvc-Day02

时间:2024-07-04 18:08:44浏览次数:1  
标签:String SpingMvc age value param key Day02 name

SpringMVC:
表述层作用:1.接受前端参数[SpringMVC简化]
2.调用业务逻辑
3.响应前端数据[SpringMVC简化]
SpringMVC组件:
1.DispatcherServlet:处理全部请求
2.handlerMapping:缓存handler方法和地址
3.handlerAdapter:适配器、参数和相应简化
4.ViewResovler视图解释器:查找视图页面、简化视图查找
5.handler:处理器,
SpringMVC接收数据:
1.访问路径设置
@RequestMapping:将请求的URL地址和处理请求的方式关联起来,建立映射
* 1.精准地址/user/log {"地址1","地址2"}
* 2.支持模糊 * 任意一层字符串 | **任意层字符串
* /user/*
* /user/**
* 3.类上添加@RequestMapping也可以 类下面的方法公共的路径
* 4.请求方式指定
客户端 -> http(ger | post | put | delete) -> dispatcherServlet - > handler
默认情况下:@RequestMapping("login)只要地址正确,任何请求方式都可以访问
指定请求方式:
@RequestMapping(value = "/login",method = RequestMethod.POST)
@RequestMapping(value = "/register",method = {RequestMethod.GET,RequestMethod.POST})
不符合的报405
或者直接在方法上加@GetMapping @PostMapping @PutMapping @DeleteMapping
2.接收参数[重点]
①param和json的参数比较
Param: key=value&key=value
JSON: {key:value,key:value}
②param参数接收
1.直接接收
/param/data?name=root&age=18
//直接接收 参数=形参
@RequestMapping("data")
public String data(String name,int age){
System.out.println("name = " + name + ", age = " + age);
return "name = " + name + ", age = " + age;
}
2.使用@RequestParam
/param/data?account=root&age=18
public String data1(@RequestParam(value = "account") String username , @RequestParam(required = false,defaultValue = "1") int page){
@RequestParam:value:将account指定为username
required = false 指定非必须传值
defaultValue = "1" 设置默认值
3.特殊场景接收
①一值多收
//一名多值 key=1&key=2 使用集合接收[但要使用@RequestParam]
//param/data2?hbs=吃&hbs=玩&hbs=学习
@GetMapping("data2")
@ResponseBody
public String data2(@RequestParam List<String> hbs){
System.out.println("hbs = " + hbs);
return "ok";
②使用实体对象接值
//用户注册(用户信息) -》 对应的实体类 -》 插入到数据库、表
//param/data3?name=二狗子&age=18
// 准备一个对应属性的ger|set方法的实体类对象即可
// 形参列表
@RequestMapping("data3")
@ResponseBody
public String data3(User user){
System.out.println("user = " + user);
return user.toString();
}
}
4.路径参数接收
/user/root/123456
//动态路径设置{key} = * {key}
//接收路径参数
@RequestMapping("{account}/{password}")
public String login(@PathVariable(value = "account") String username,@PathVariable String password){
System.out.println("username = " + username + ", password = " + password);
return "username = " + username + ", password = " + password;
}
③JSON数据接收
用对应的实体类接收JSON,需要加入注解@RequestBody
data -> 请求体 post {name,age,gender}
前端 -> json -> 415错误显示不支持数据类型
原因:Java原生的api,只支持路径参数和param参数 request.getParameter("key"); param 不支持json
解决:1.导入json处理的依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.15.0</version>
</dependency>
2.handlerAdapter配置json转化器
@EnableWebMvc
复习:如何接收header和cookie!

标签:String,SpingMvc,age,value,param,key,Day02,name
From: https://www.cnblogs.com/MinyX/p/18284385

相关文章

  • Day02基础语法
    基础语法1、注释单行注释//多行注释/**/文档注释2、标识符关键字所有标识符都应该以字母(A-Z,a-z),美元符($),或下划线(_)开始首字母后可以是字母(A-Z,a-z),美元符($),或下划线(_)或数字的任意字符组合不能用关键字作为变量名和方法名标识符大小写敏感可以使用中文命名,但不建......
  • HarmonyOS APP应用开发项目- MCA助手(Day02持续更新中~)
    简言:gitee地址:https://gitee.com/whltaoin_admin/money-controller-app.git端云一体化开发在线文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/agc-harmonyos-clouddev-view-0000001700053733-V5注:此App参照此教程进行二次修改:https://www.bilibi......
  • 【秋招刷题打卡】Day02-二分系列之-二分查找
    Day02-二分系列之-二分查找前言给大家推荐一下咱们的陪伴打卡小屋知识星球啦,详细介绍=>笔试刷题陪伴小屋-打卡赢价值丰厚奖励<=⏰小屋将在每日上午发放打卡题目,包括:一道该算法的模版题(主要以力扣,牛客,acwing等其他OJ网站的题目作为模版)一道该算法的应用题(主要以往......
  • Day02 顺序表
    目录1、顺序表2、随机访问&顺序访问3、思考4、顺序表的封装1、顺序表        数组在数据结构中是属于线性表的一种,线性表是由一组具有n个相同类型的数据元素组成的。线性表中的任何一个数据元素有且只有一个直接前驱有且只有一个直接后继首元素是没有前驱的尾......
  • 小宋的SpringCloud学习记录day02
    基于Restful风格实现下列接口:今天我们继续昨天的课程来学习一下MybatisPlus的核心功能——IService接口下面是我们需要在pom文件中要引入的依赖<!--swagger--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-sta......
  • 【JavaScript详解】Day02
    JavaScript基础-第2天理解什么是流程控制,知道条件控制的种类并掌握其对应的语法规则,具备利用循环编写简易ATM取款机程序能力运算符语句综合案例运算符算术运算符数字是用来计算的,比如:乘法*、除法/、加法+、减法-等等,所以经常和算术运算符一起。算术运算......
  • Java面试八股文day02
    系列文章目录文章目录前言跟着我的节奏拿下Java面试八股文二、容器1.java容器都有哪些?2.Collection和Collections有什么区别?java.util.Collection是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java......
  • day02
    常用快捷键全选:ctrl+awin+e,打开我的电脑ctrl+shift+esc,打开任务管理器基本DOS(磁盘OS)命令cmd命令提示符打开方式(command)win+r,输入cmd常用DOS命令1.盘符切换C/D/E/F:2.查看当前目录下所有文件dir3.切换目录cd+目录名(当前目录)/cd/dx:\文件名\文件名4.返回上......
  • day02
    day02一、今日学习目标1.指令补充指令修饰符v-bind对样式增强的操作v-model应用于其他表单元素2.computed计算属性基础语法计算属性vs方法计算属性的完整写法成绩案例3.watch侦听器基础写法完整写法4.综合案例(演示)渲染/删除/修改数量/全选/反......
  • Java-SSM-Day02 SpringFramework实战指南
    一、技术体系结构总体技术体系1单一架构:一个项目,一个工程,导出为一个war包,在一个Tomcat上运行。也叫allinone。目前主要应用技术框架为:Spring、SpringMVC、Mybatis分布式架构:一个项目(对应IDEA中的一个project),拆分成很多......