@RequestMapping

指定请求的路径

  • value :用于指定请求的url。它和path属性的作用是一样的。

  • path :路径

  • method :请求的方法。RequestMethod.GET,RequestMethod.POST

  • params :指定请求中的参数。params = {"username"},请求参数必须有"accountName"

  • headers :用于指定限制请求消息头的条件。headers ={"Accept"} 表示请求头要有Accept参数

@RequestParam

把请求中的指定名称的参数传递给控制器中的形参赋值. testRequestParam(@RequestParam(name = "name",required = true) String username)

  • value:请求参数中的名称

  • required:请求参数中是否必须提供此参数,默认值是true,必须提供

@RequestBody注解

用于获取请求体的内容(注意:get方法不可以)saveUser(@RequestBody String body)

  • required:是否必须有请求体,默认是true

@PathVariable

拥有绑定url中的占位符的。例如:url中有/delete/{id},{id}就是占位符.

@RequestMapping("/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id") String id){}
  • value:指定url中的占位符名称

@RequestHeader

获取请求头中的参数

@RequestMapping("/testRequestHeader")
public String testRequestHeader(@RequestHeader("Cookie") String header){
System.out.println(header);
return "success";
}

@CookieValue

用于获取指定cookie的名称的值

@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue("JSESSIONID") String header){
System.out.println(header);
return "success";
}

@ModelAttribute

    /*
ModelAttribute注解
作用
出现在方法上:表示当前方法会在控制器方法执行前执行。
出现在参数上:获取指定的数据给参数赋值。
应用场景
当提交表单数据不是完整的实体数据时,保证没有提交的字段使用数据库原来的数据。
*/
@RequestMapping("/testModelAttribute")
public String testModelAttribute(@ModelAttribute("abc") User user){
System.out.println(user);
return "success";
} /**
* ModelAttribute注解
* 会在RequestMapping注解执行之前执行
*/
@ModelAttribute
public void showUser(String uname, Map<String,User> map){
User user = new User();
user.setUname(uname);
user.setAge(18);
user.setDate(new Date());
map.put("abc",user);
System.out.println("showUser方法执行了。。。"+user); }

@SessionAttributes

把值存入session中

@Controller
@RequestMapping("sessionAttribute")
@SessionAttributes(names = {"name"})//把name的值存到session域对象中一份
public class SessionAttributeController { /**
* 存值
* @param model
* @return
*/
@RequestMapping("testPut")
public String testPut(Model model){
String name = "张三";
model.addAttribute("name",name);
System.out.println("put:" + name);
return "success";
} /**
* 取值
* @param modelMap
* @return
*/
@RequestMapping("testGet")
public String testGet(ModelMap modelMap){
String name = (String) modelMap.get("name");
System.out.println("get:" + name);
return "success";
} /**
* 删除
* @param status
* @return
*/
@RequestMapping("testDel")
public String testDel(SessionStatus status){
status.setComplete();
System.out.println("delete session");
return "success";
}
}

@ResponseBody

自动将返回的对象转换成 JSON 格式

    @RequestMapping("/testAjax")
@ResponseBody
public User testAjax(@RequestBody User user){
System.out.println("testAjax方法执行了。。。。");
System.out.println(user);
User resUser = new User();
resUser.setUsername("zjw");
resUser.setPassword("654321");
resUser.setAge(19);
return resUser;
}

@RequestMapping(value = "/testJson2", produces = {"application/json;charset=UTF-8"}) 表明当一个 HTTP 请求的 URL 匹配 /testJson2 且客户端期望的响应内容为 JSON 格式时,这个方法将被触发。这个方法的输出将是一个 JSON 格式的字符串,且以 UTF-8 编码。

    @ResponseBody
@RequestMapping(value = "/testJson2" , produces = {"application/json;charset=UTF-8"})
public String testJson2() throws JsonProcessingException {
System.out.println("testJson2方法执行了。。。。");
User resUser = new User();
resUser.setUsername("zzz");
resUser.setPassword("654321");
resUser.setAge(19);
System.out.println(resUser);
ObjectMapper objectMapper = new ObjectMapper();
String userJson = objectMapper.writeValueAsString(resUser);
return userJson;
}

SpringMVC的注解的更多相关文章

  1. SpringMVC常用注解實例詳解3:@ResponseBody

    我的開發環境框架:        springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat ...

  2. SpringMVC常用注解實例詳解2:@ModelAttribute

    我的開發環境框架:        springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat ...

  3. springMVC的注解详解

    springmvc常用注解标签详解 1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业 ...

  4. springmvc常用注解与类型转换

    springmvc常用注解与类型转换 一:前置 spring -servlet.xml 注入 <!-- 启用spring mvc 注解 --> <context:annotation ...

  5. springMvc的注解注入方式

    springMvc的注解注入方式 最近在看springMvc的源码,看到了该框架的注入注解的部分觉的有点吃力,可能还是对注解的方面的知识还认识的不够深刻,所以特意去学习注解方面的知识.由于本人也是抱着 ...

  6. SpringMVC全注解

    SpringMVC全注解不是你们那么玩的 前言:忙了段时间,忙得要死要活,累了一段时间,累得死去活来. 偶尔看到很多零注解配置SpringMVC,其实没有根本的零注解. 1)工程图一张: web.xm ...

  7. SpringMVC常用注解@Controller,@Service,@repository,@Component

    SpringMVC常用注解@Controller,@Service,@repository,@Component controller层使用@controller注解 @Controller 用于标记 ...

  8. 一 : springmvc常用注解

    springmvc常用注解详解1.@Controller在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层 ...

  9. 04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

     1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mv ...

  10. 转:springmvc常用注解标签详解

    Spring5:@Autowired注解.@Resource注解和@Service注解 - IT·达人 - 博客园--这篇顺序渐进,讲得超级好--此人博客很不错http://www.cnblogs.c ...

随机推荐

  1. Atcoder ABC383E Sum of Max Matching 题解 [ 绿 ] [ 最小瓶颈路 ] [ 并查集 ] [ Kruskal 重构树 ]

    Sum of Max Matching:简单贪心,但我场上没切,唐完了. 思路 显然,对于最大边权最小问题,首先想到最小瓶颈路的 trick:按边的大小排序,对原图进行加边. 同时可以发现,这个匹配有 ...

  2. 解密prompt系列48. DeepSeek R1 & Kimi 1.5长思维链 - RL Scaling

    春节前DeepSeek R1和Kimi1.5炸翻天了,之前大家推测的O1的实现路径,多数都集中在MCTS推理优化,以及STaR等样本自优化方案等等,结果DeepSeek和Kiim直接出手揭示了reas ...

  3. MarkDown学习使用图片

    学习MarkDown使用

  4. 盘点10个.NetCore实用的开源框架项目

    连续分享.Net开源项目快3个月了,今天我们一起梳理下10个,比较受到大家欢迎的.NetCore开源框架项目. 更多开源项目,可以查看我创建的,.Net开源项目榜单! 一个专注收集.Net开源项目的榜 ...

  5. VMware虚拟机上安装CentOS8详细教程

    1.准备工作 1.1.需要准备好已安装完成的VMware虚拟机,如果您的电脑未安装VMware虚拟机,请参考以下连接:https://www.cnblogs.com/x1234567890/p/148 ...

  6. Halcon学习教程(二) 测量量测相关(点到线距离,线到线距离,轮廓线距离,一维测量,圆形测量,矩形测量等)

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/18740576 本篇讲一些测量用到的算子和实例,想了解更多就得去看看halcon实例里一维测量里 ...

  7. 震惊!AI 编程竟然让程序员 “失业” 了?真相让人意外

    在科技飞速发展的当下,AI 编程的异军突起无疑成为了整个编程领域乃至社会各界热议的焦点. 去年,全球首个AI程序员Devin横空出世,不仅能独立完成代码开发.修复Bug,甚至能通过阅读技术文档自主学习 ...

  8. go的异常抛出

    defer func() { if r := recover(); r != nil { fmt.Println("Recovered:", r) } }() 在任何涉及到数组取值 ...

  9. TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合

    \3c span id="mce_marker" data-mce-type="bookmark">\3c /span>\3c span id=&q ...

  10. uniapp支付宝小程序生成分享图方案(最新)

    最近公司业务开发支付宝小程序,功能涉及生成分享图的功能,开始研究实现方案. 开发过微信小程序的小伙伴应该都知道,在微信中生成分享图最常用的方案是使用第三方库Painter GitHub官方仓库地址为: ...