SpringMVC中的注解

news/2024/11/24 14:00:58/

SpringMVC中的注解

文章目录

  • SpringMVC中的注解
    • @RequestMapping注解
      • @RequestMapping中的value属性
      • @RequestMapping中的method属性
      • 派生类
    • @PathVariable注解
    • @RequestParam注解

@RequestMapping注解

@RequestMapping中的value属性

@RequestMapping:既可以标识在方法上也可以标识在类上

  • 将@RequestMapping注解标识在方法上表示设置请求映射的具体信息(/:会被解析成http://localhost:8080/上下文/)
@RequestMapping(value = "/hello")
public void hello(){System.out.println("hello,SpringMVC");
}
  • 将@RequestMapping注解标识在方法上表示设置请求映射的初始信息
  • 如果@RequestMapping注解标识在方法上请求地址会匹配类中的注解再加上某个方法的注解
@Controller
@RequestMapping(value = "/text")
public class HelloController {@RequestMapping(value = "/hello")public void hello(){System.out.println("hello,SpringMVC");}}

value属性:它是一个String类型的数组,即当前浏览器所发送请求的请求路径匹配value属性中的任何一个值,则当前请求就会被注解所标识的方法进行处理

@RequestMapping中的method属性

method属性是RequestMethod类型的数组,当前浏览器所发送请求的请求方式匹配method属性中的任何一中请求方式,则当前请求就会被注解所标识的方法进行处理

@RequestMapping(value = {"/hello","/abc"},method= {RequestMethod.GET,RequestMethod.POST}
)
public void hello(){System.out.println("hello");
}

派生类

  • 在@RequestMapping注解的基础上,结合请求方式的一些派生类

@GetMapping、@PostMapping、@DeleteMapping、@PutMapping

@GetMapping:表示当前发送的请求方式为get请求,value属性为请求地址

后面三个注解也是如此,表示当前发送的请求方式,value属性为请求地址

@PathVariable注解

在传统发送带参数的请求方式:/helloUser?id=1

在rest风格中将参数作为请求路径发送:/helloUser/1

需要在@RequestMapping注解value属性中所设置的路径中,使用{xxx}的方式表示路径中的数据

在通过@PathVariable注解,将占位符所标识的值和控制器方法的形参进行绑定

  • 发送发请求
<a th:href="@{/rest/helloUser/username/1}">测试</a>
  • 接收请求
@RequestMapping("/rest/helloUser/{username}/{id}")
public void testRest(@PathVariable("id") Integer id , @PathVariable("username") String username){System.out.println(id);//1System.out.println(username);//username
}

@RequestParam注解

@RequestParam注解:将请求参数和控制器方法的形参绑定

  • @RequestParam注解的三个属性,value、required、defaultValue

value:设置和形参绑定的请求参数名字

required:设置是否必须传输value所对应的请求参数,默认值为true,表示value所对应的请求参数必须传输,否则页面报错

若设置为false,则表示value所对应的请求参数不是必须传输,若没传输,则形参值为null

defaultValue:设置当没有传输value所对应的请求参数时,为形参设置的默认值

  • 发送请求
<form th:action="@{/param}" method="post"><input type="text" name="name"/><input type="password" name="password"/><input type="submit" value="登录"/>
</form>
  • 接收请求
@RequestMapping("/param")public void testgetParamTwo(@RequestParam(value = "name",required = false,defaultValue = "hello") String username,String password
) {System.out.println("username = " + username);System.out.println("password = " + password);}

http://www.ppmy.cn/news/27570.html

相关文章

【数据结构】Map 和 Set

目录二叉搜索树二叉搜索树---查找二叉搜索树---插入二叉搜索树---删除Map和SetMap的使用Set的使用哈希表哈希冲突冲突避免冲突解决冲突解决---闭散列冲突解决---开散列题目练习只出现一次的数复制带随机指针的链表宝石与石头旧键盘二叉搜索树 二叉搜索树也叫二叉排序树&#x…

物理真机上LUKS结合TPM的测试 —— 使用随机数密钥

1. 创建磁盘空间 命令如下&#xff1a; dd if/dev/zero ofenc.disk bs1M count50 实际命令及结果如下&#xff1a; $ dd if/dev/zero ofenc.disk bs1M count50 输入了 500 块记录 输出了 500 块记录 52428800 字节 (52 MB, 50 MiB) 已复制&#xff0c;0.0587495 s&#xff…

3个月,入门网络安全并找到工作

在我进入大学之前&#xff0c;我一直对计算机感兴趣。虽然只是考了一个一般大学&#xff0c;但是选专业的时候还是选了计算机专业。 本来以为自己会在大学里学到很多有用的知识&#xff0c;并且能够很快找到一份好工作。但是&#xff0c;事实并不是这样。在大学期间&#xff0c…

多模态机器学习入门——文献阅读(一)Multimodal Machine Learning: A Survey and Taxonomy

文章目录说明论文阅读AbstractIntroductionIntroduction总结Applications&#xff1a;A Historical Perspective补充与总结3 MULTIMODAL REPRESENTATIONS总结Joint Repersentations&#xff08;1&#xff09;总结和附加(一)Joint Repersentations&#xff08;2&#xff09;总结…

九头蛇hydra爆破http示例

使用hydra执行http表单暴力破解 通过浏览器自带分析得知: 提交地址:http://10.0.0.115/student_attendance/ajax.php?action=login 提交方式:POST 提交数据:username=a&password=a 服务响应:3 根据以上收集的信息就可以使用hydra进行密码爆破 hydra 10.0.0.115 http…

Golang学习Day2

Go语言中的函数go语言中函数特性go语言有三种函数&#xff1a;普通函数、匿名函数&#xff08;没有名称的函数&#xff09;方法&#xff08;定义在struct上的函数&#xff09;。receivergo语言中不运算函数重载&#xff08;overload&#xff09;&#xff0c;也就是说不允许函数…

Linux 驱动基础

注册驱动模块时给模块传递参数 在一些情况下&#xff0c;我们要动态的改变驱动中某个变量的值&#xff0c;那么就可以在注册时给驱动模块传递参数。 给驱动模块中传递参数&#xff0c;需要定义好接受参数值的全局变量&#xff0c;并调用module_param 来引用它&#xff0c;具体…

优秀外贸业务员必备的业务技能

2023年的春天&#xff0c;可谓是外贸企业三年寒冬后的第一个春天。外贸行业离不开的就是优秀的外贸业务员&#xff0c;那么一个优秀的外贸业务员需要有哪些必备的技能呢&#xff1f;跟着我一起来看看吧&#xff01;一、电话开发客户能力首先&#xff0c;要知道&#xff0c;声音…