SpringMVC中的注解

Posted 一天睡20个小时

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC中的注解相关的知识,希望对你有一定的参考价值。

SpringMVC中的注解

文章目录

@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);//1
    System.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);
      

以上是关于SpringMVC中的注解的主要内容,如果未能解决你的问题,请参考以下文章

springmvc报错500

Springday04 SpringMVC入门案例控制器和三大主件Spring请求参数绑定SpringMVC使用servlet的api请求头请求体相关注解

springMVC注解及优化

SpringMvc实现的简单原理

B站狂神说Java---记录SpringMVC学习笔记

随本小记——springmvc常用注解