springMVC请求
一、RequestMapping注解
RequestMapping介绍
RequestMapping注解的作用是建立请求URL和处理方法之间的对应关系
RequestMapping注解可以作用在方法和类上
-
- 作用在类上:第一级的访问目录
-
- 作用在方法上:第二级的访问目录
-
- 细节:路径可以不编写 / ,表示应用的根目录开始
只要路径不重复,一级二级目录就可以按需添加
package com.qcby.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/user")//一级目录
public class UserController {
@RequestMapping("/study")//二级目录
public String study(){
System.out.println("study");
//返回suc.html的界面
return "suc";
}
}
RequestMapping的属性
- path 指定请求路径的url
- value value属性和path属性是一样的
- mthod 指定该方法的请求方式
@Controller
@RequestMapping(path = "/role") // 一级请求路径
public class RoleController {
/**
* /role/save
* method="当前方法允许请求方式能访问"
* params="请求路径上传参数"
* @return
*/
@RequestMapping(path = "/save",method = {
RequestMethod.GET})
public String save(){
System.out.println("保存角色...");
//返回suc.html的界面
return "suc";
}
@RequestMapping(value = "/delete")
public String delete(){
System.out.println("删除角色...");
//返回suc.html的界面
return "suc";
}
}
RequestMapping的请求参数绑定
(1). 绑定机制
- 表单提交的数据都是k=v格式的 username=haha&password=123
- SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的
方法一:通过方法形参来直接绑定前端传入的参数
- 把前端表单提交的请求参数,直接和控制器中方法的形参进行绑定
- 要求:提交表单的name和函数的参数的名称是相同的
方法二:通过实体类属性封装前端传入的数据
- 把前端表单提交的请求参数,和实体类的属性进行绑定
- 控制器的方法的参数是实体类
- 实体类的属性要和表单的name一致
方法三:在控制器内写servlet来操作前端的参数
(2). 支持的数据类型
-
- 基本数据类型和字符串类型
-
- 实体类型(JavaBean)
-
- 集合数据类型(List、map集合等)
基本数据类型和字符串类型
-
提交表单的name和参数的名称是相同的
-
区分大小写
实体类型(JavaBean)
-
提交表单的name和JavaBean中的属性名称需要一致
-
如果一个JavaBean类中包含其他的引用类型,那么表单的name属性需要编写成:对象.属性 例如:address.name
给集合属性数据封装
- JSP页面编写方式:list[0].属性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eA1yT7vy-1654949086953)(https://nyw-1300782054.cos.ap-nanjing.myqcloud.com/img/image-20220607154927164.png)]
举例:
前端界面
<html>
<head>
<meta charset="utf-8">
<title>入门程序</title>
</head>
<body>
<h3>入门</h3><a href="/SpringMVCDemo/hello.do">入门程序</a>
<h3>通过提交形参绑定前端参数</h3>
<form action="/SpringMVCDemo/user/bindPara">
<input type="text" name<