千家信息网

springmvc之常用注解和操作传入参数的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关springmvc之常用注解和操作传入参数的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。springmvc常用注
千家信息网最后更新 2026年11月03日springmvc之常用注解和操作传入参数的示例分析

这篇文章将为大家详细讲解有关springmvc之常用注解和操作传入参数的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

springmvc常用注解,操作传入参数

@RequestParam

一般用于jsp参数名和后台方法参数指定,对应

/*    * value=name 当jsp的参数和方法上的参数对应不上,可以指明    * required() default true;默认true   有参数则必须传    * */    public String testRequestParam(@RequestParam(name = "name",required = false) String username){        System.out.println("执行了..........");        System.out.println(username);        return "success";    }
    testRequestParam 

不传参数,required()设置为false,方法有参数

测试

@RequestBody

一般用于获取post请求的方法体,jsp参数格式为键值对,即 key-value

该注解不适应于get请求,一般用于post请求,例如表单提交

如果要用于get请求,则需

@RequestBody(required = false)

否则报错,此时方法参数为null

@RequestMapping(path = "testRequestBody")    public String testRequestBody(@RequestBody(required = false) String body){        System.out.println("执行了..........");        System.out.println(body);        return "success";    }
    <%--testRequestParam--%>     
用户名:
密码:

测试

@PathVariable

URL的占位符,restful风格,传参格式 url地址后/10

restful请求方式: get,post,put 配合注解@RequestMapping设置请求方式

@RequestMapping(path = "testPathVariable/{sid}",method = RequestMethod.GET)
@RequestMapping(path = "testPathVariable/{sid}",method = RequestMethod.GET)    /*    * {sid}表示URL的占位符    * boolean required() default true;默认参数必须传    * */    public String testPathVariable(@PathVariable("sid") String id){        System.out.println("执行了..........");        System.out.println(id);        return "success";    }
 testPathVariable

可以下载postman客户端,模拟发送不同的请求方式

测试:

@RequestHeader

获取请求头的某些属性值 如浏览器类型、版本等 不常用

@RequestMapping(path = "testRequestHeader",method = RequestMethod.GET)    /*获取请求头的某些属性值 如浏览器类型、版本等*/    public String testRequestHeader(@RequestHeader(value = "Accept") String head){        System.out.println("执行了..........");        System.out.println(head);        return "success";    }
testRequestHeader

@CookieValue

获取JSESSIONID的值

@RequestMapping(path = "testCookieValue",method = RequestMethod.GET)    public String testCookieValue(@CookieValue(value = "JSESSIONID") String JSESSIONID){        System.out.println("执行了..........");        System.out.println(JSESSIONID);        return "success";    }
  testCookieValue

@ModelAttribute

用于封装的数据不全补全数据,或者检查封装数据等场景

可作用于方法和参数

修饰方法,方法入参需和控制器方法同参类型,该方法优先于控制器之前执行,且分类有返回值和无返回值

  • 有返回值,则该方法的返回值和控制器的入参相同相同

  • 无返回值,则该方法的参数除了和控制器的入参相同外,还需加一个map类型参数map

例子:

注解修饰的方法有返回值写法

 @RequestMapping(path = "testModelAttribute")    public String testModelAttribute(User user){        System.out.println("执行了..........");        System.out.println(user);        return "success";    }     @ModelAttribute    //修饰方法,该方法优先于控制器之前执行    public User showUser(User user){        /*模拟jsp传的user封装数据不全,        通过名字查询数据库对应的信息        返回全的user对象*/        user.setBirthday(new Date());        return user;    }
用户名:
年龄:

注解修饰的方法无返回值写法

@RequestMapping(path = "testModelAttribute")    public String testModelAttribute(@ModelAttribute("key") User user){        System.out.println("执行了..........");        System.out.println(user);        return "success";    }     @ModelAttribute    //修饰方法,该方法优先于控制器之前执行    public void showUser(User user, Map userMap){        /*模拟jsp传的user封装数据不全,        通过名字查询数据库对应的信息        返回全的user对象*/        user.setBirthday(new Date());        userMap.put("key",user);    }

测试

@SessionAttributes

注解只能作用于类,用于存取数据到session域对象中,实现方法数据共享

实现方式:从request域对象中复制数据到session域中

/** * @Date 2019/9/12 2:05 * by mocar */@Controller@RequestMapping(path = "/anno")@SessionAttributes(names = {"msg"})//从request域对象中复制到session域对象public class annoController {         @RequestMapping("/setRequest")//存入    public String setRequest(ModelMap modelMap){        System.out.println("setRequest......");        modelMap.addAttribute("msg","test");//往Request域对象存值        return "success";    }     @RequestMapping("/getSession")//获取    public String getSession(ModelMap modelMap){        System.out.println("getSession.......");        Object msg = modelMap.get("msg");        System.out.println(msg.toString());        return "success";    }     @RequestMapping("/delSession")//删除    public String delSession(SessionStatus sessionStatus,ModelMap modelMap){        System.out.println("delSession.......");        sessionStatus.setComplete();        Object msg = modelMap.get("msg");        System.out.println(msg.toString());        return "success";    } }

jsp:

 
setRequest
getSession
delSession

success.jsp 设置不忽略EL表达式,显示session域数据

<%--  Created by IntelliJ IDEA.  User: Mocar  Date: 2019/9/11  Time: 4:34  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>    快速入门    

success

${sessionScope}

setsession

getsession

delsession

关于springmvc之常用注解和操作传入参数的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

方法 参数 数据 注解 对象 控制器 控制 常用 方式 类型 封装 测试 示例 分析 相同 作用 信息 内容 写法 名字 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳市人人互联网科技有限公司 湖南永感互联网科技有限公司 今日互联网科技 与互联网科技公司 万易互联网科技 中国互联网科技发展 金融科技和互联网金融 太原新华互联网科技学校怎么样 互联网科技有哪些公司 移动互联网年度科技创新 银川新华互联网科技学校联系电话 996高科技互联网公司 上海科技产业互联网平台 云南省自由互联网科技有限公司 神州科技互联网有限公司 普陀区互联网教育科技管理办法 互联网科技新闻 北京天晋互联网科技有限公司 平安好医生打造互联网科技医疗 恒生互联网科技趋势 互联网科技网站 深圳互联网科技怎么样 互联网和高科技公司 福州新华互联网科技学校 知乎 科技与互联网哪个更好 新兴科技互联网创新大赛颁奖典礼 中国科技和美国互联网 兰石爱特工业互联网科技分公司 北京军民互联网科技公司 互联网 科技节活动 微视频大赛
0