springMVC常用注解

目录

springMVC常用注解(一般用在后端控制器方法的入参里面,用于获取前端传递的信息)

@RequestParam注解:

@RequestBody注解

[@RequestHeader 获取请求头的值](#@RequestHeader 获取请求头的值)

[@CookieValue 获取到cookie中的值](#@CookieValue 获取到cookie中的值)

代码实例:

@PathVaribale注解

restful风格


springMVC常用注解(一般用在后端控制器方法的入参里面,用于获取前端传递的信息)

(完整版示例代码可接前几篇关于springMVC的文章,这是一个整体的演示springMVC的demo)

@RequestParam注解:

作用:把请求中的指定名称的参数传递给控制器中的形参赋值

前端请求参数name与后端方法的参数不一致,则可用@RequestParam注解,指定一下前端请求参数

其内部属性为:

  • value:请求参数中的名称,与前端传递的参数相对应
  • required:默认值是true,如果是true的话,value必须提供与前端请求参数一致的参数,如果是false则不一定要提供
  • defaultValue = "abc" 默认赋值

@RequestBody注解

作用:用于获取请求体的内容(注意:get方法不可以,必须用post方法)

@RequestHeader 获取请求头的值

@CookieValue 获取到cookie中的值

代码实例:

java 复制代码
@Controller
@RequestMapping("/dept")
public class DeptController {
​
    /**
     * RequestParam注解
     * required = false ,默认值是true,必须要传请求参数,不传就会报错
     * defaultValue = "abc" 如果没有传请求参数,使用默认值
     * @return
     */
    @RequestMapping("/save1.do")
    public String save(@RequestParam(value = "username",required = false,defaultValue = "abc") String name){
        System.out.println("姓名:"+name);
        return "suc";
    }
    /**
    @RequestBody获取请求体的内容
    */
    @RequestMapping("/save2.do")
    public String save2(@RequestBody String body){
        System.out.println("请求体内容:"+body);
        return "suc";
    }

    /**
     * RequestHeader 获取请求头的值
     * @return
     */
    @RequestMapping("/save3.do")
    public String save3(@RequestHeader(value = "Accept") String header){
        System.out.println("Accept请求头的值:"+header);
        return "suc";
    }

    /**
     * CookieValue 获取到cookie中的值
     * @return
     */
    @RequestMapping("/save4.do")
    public String save4(@CookieValue(value = "JSESSIONID") String cookie){
        System.out.println("值:"+cookie);
        return "suc";
    }
}

@PathVaribale注解

代码举例:通过path = "/emp/{id}" 获取前端传过来的参数和id然后通过@PathVariable(value = "id")赋值给Integer id

此时,前端传递的可以是localhost:8081/emp/5 此时Integer id就是5

java 复制代码
/**
 * 查询所有
 * @return
 */
@RequestMapping(path = "/emp/{id}",method = RequestMethod.GET) //这里是restful风格
public String findById(@PathVariable(value = "id") Integer id){
    System.out.println("通过id查询员工..."+id);
    return "suc";
}

这里给一个index.jsp用于前端演示

javascript 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>首页</title>
</head>
<body>

<h3>演示SpringMVC常用注解</h3>
<h4>@RequestBody注解</h4>
<form method="post" action="/dept/save2.do">
    用户名:<input type="text" name="username01"/>
    密码:<input type="password" name="password"/>
    <input type="submit" name="submit" value="提交"/>
</form>
<h4>@RequestHeader注解</h4>
<form method="post" action="/dept/save3.do">
    用户名:<input type="text" name="username01"/>
    密码:<input type="password" name="password"/>
    <input type="submit" name="submit" value="提交"/>
</form>
<hr/>
<h3>演示Rrestful风格的请求路径显示</h3>
<form method="post" action="/emp">
    用户名:<input type="text" name="username01"/>
    密码:<input type="password" name="password"/>
    <input type="submit" name="submit" value="提交"/>
</form>

</body>
</html>

restful风格

相关推荐
Goldn.24 分钟前
Java核心技术栈全景解析:从Web开发到AI融合
java· spring boot· 微服务· ai· jvm· maven· hibernate
oden33 分钟前
AI服务商切换太麻烦?一个AI Gateway搞定监控、缓存和故障转移(成本降40%)
后端·openai·api
李慕婉学姐1 小时前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
小鸡吃米…2 小时前
Python 列表
开发语言·python
m0_740043732 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
编织幻境的妖2 小时前
SQL查询连续登录用户方法详解
java·数据库·sql
kaikaile19952 小时前
基于C#实现一维码和二维码打印程序
开发语言·c#
我不是程序猿儿2 小时前
【C#】画图控件的FormsPlot中的Refresh功能调用消耗时间不一致缘由
开发语言·c#
未若君雅裁2 小时前
JVM面试篇总结
java·jvm·面试
rit84324992 小时前
C# Socket 聊天室(含文件传输)
服务器·开发语言·c#