@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. DeepSeek-R1满血版性能飙升四倍,成本大降,竟是因为……

    近日,天翼云DeepSeek模型推理技术迎来重大升级!该技术不仅支撑DeepSeek-R1满血版模型实现性能的四倍提升,更将大规模部署模型的成本降至原来的25%以下,为AI应用落地铺就更为宽广的道路. ...

  2. [NOIP2018] 旅行 题解

    明显要以 \(1\) 为起点. 原图是树 这种情况下,走路不能回头,只能用 \(dfs\) 的思路走.当然肯定每次都走较小的那棵子树,\(vector\) 存图后排序即可达到这种效果. 时间复杂度 \ ...

  3. MybatisPlus - [04] 分页

    limit m,n.PageHelper.MyBatisPlus分页插件 001 || MybatisPlus分页插件 (1)引入maven依赖 <dependency> <grou ...

  4. php连接sql server 2014踩坑及处理记录

    1.PDOException: SQLSTATE[42S02]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]对象名 'dbotest' ...

  5. Windows服务器等保审核安全设置

    1.开启账户锁定策略 进入Windows服务器,快捷键"WIN+R"打开运行窗口.输入"gpedit.msc"并点击确定,依次点击"计算机配置&quo ...

  6. php获取类名

    <?php class ParentClass { public static function getClassName() { return __CLASS__; } } class Chi ...

  7. script 标签中 defer 和 async 的区别

    https://www.cnblogs.com/huangtq/p/18422775 在 <script> 标签中,defer 和 async 是两个用于控制 JavaScript 脚本加 ...

  8. ITSM运维管理整理总结

    ITSM 和我们平常所说的软件管理最大的不同? 目标不是管理技术,主要任务是管理用户和客户的IT需求 2.人员.技术.流程[重要] 3.几大模块 模块名称 干什么 备注 服务台 1.对接客户的前方,负 ...

  9. 【练习回顾】DS前三次作业

    第一次作业 T2.基本计算器 使用了数组栈--数字栈和符号栈 T5.全排列输出(permutation) 使用了标准写法--字典序算法 void reverse(int left,int right) ...

  10. 红黑树和b+树

    二叉搜索树 满足以下条件: 对于根节点,左子树中所有节点的值 < 根节点的值 < 右子树中所有节点的值. 任意节点的左.右子树也是二叉搜索树,即同样满足条件 1. 这是一个正常的,没有碰到 ...