- 浏览: 632939 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (819)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (9)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取。这里主要讲这个注解
一、基本使用,获取提交的参数
后端代码:
前端代码:
可以看到spring会自动根据参数名字封装进入,我们可以直接拿这个参数名来用
二、各种异常情况处理
1、可以对传入参数指定参数名
错误信息:
HTTP Status 400 - Required String parameter 'value' is not present
2、可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传
3、如果用@RequestMapping注解的参数是int基本类型,但是required=false,这时如果不传参数值会报错,因为不传值,会赋值为null给int,这个不可以
参考:http://825635381.iteye.com/blog/2196911
一、基本使用,获取提交的参数
后端代码:
@RequestMapping(value = "/item/{configId}", method = RequestMethod.PUT) @ResponseBody public JsonObjectBase updateItem(@PathVariable long configId, @RequestParam(value = "value") String value) { // 业务校验 configValidator.validateUpdateItem(configId, value); LOG.info("start to update config: " + configId); // // 更新, 并写入数据库 // String emailNotification = ""; emailNotification = configMgr.updateItemValue(configId, value); // // 通知ZK // configMgr.notifyZookeeper(configId); return buildSuccess(emailNotification); }
前端代码:
// 提交 $("#submit").on("click", function (e) { $("#error").addClass("hide"); var me = this; var value = $("#value").val(); // 验证 if (!value) { $("#error").removeClass("hide"); $("#error").html("表单不能为空或填写格式错误!"); return; } $.ajax({ type: "PUT", url: "/api/web/config/item/" + configId, data: { "value": value } }).done(function (data) { $("#error").removeClass("hide"); if (data.success === "true") { $("#error").html(data.result); } else { Util.input.whiteError($("#error"), data); } }); });
可以看到spring会自动根据参数名字封装进入,我们可以直接拿这个参数名来用
二、各种异常情况处理
1、可以对传入参数指定参数名
public JsonObjectBase updateItem(@PathVariable long configId, // 下面的对传入参数指定为value,如果前端不传value参数名,会报错 @RequestParam(value = "value") String value)
错误信息:
HTTP Status 400 - Required String parameter 'value' is not present
2、可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传
// required=false表示不传的话,会给参数赋值为null,required=true就是必须要有 public JsonObjectBase updateItem(@PathVariable long configId, @RequestParam(value = "myValue", required = true) String value)
3、如果用@RequestMapping注解的参数是int基本类型,但是required=false,这时如果不传参数值会报错,因为不传值,会赋值为null给int,这个不可以
参考:http://825635381.iteye.com/blog/2196911
发表评论
-
动手写一个异步Controller方法
2017-11-23 15:30 428http://twincle.iteye.com/blog/1 ... -
SpringMVC @ResponseBody 415错误处理
2017-11-22 11:23 811http://blog.csdn.net/yixiaoping ... -
Spring MVC DispatcherServlet配置
2017-11-03 09:02 348第三章 DispatcherServlet详解 ——跟开涛学S ... -
基于Spring MVC的Web应用开发(6) - Response
2017-08-29 18:27 426http://stephansun.iteye.com/blo ... -
Spring 4 官方文档学习(十一)Web MVC 框架之URI Builder
2017-08-10 10:39 393http://www.cnblogs.com/larryzea ... -
SpringMVC加载WebApplicationContext源码分析
2017-08-07 20:40 513SpringMVC加载WebApplicationContex ... -
定制jackson的自定义序列化(null值的处理)
2017-08-01 20:52 17http://www.cnblogs.com/lic309/p ... -
HandlerMethodArgumentResolver
2017-08-01 20:56 479https://sdqali.in/blog/2016/01/ ... -
spring rest mvc使用RestTemplate调用
2017-07-22 16:42 860import java.util.HashMap; impo ... -
Spring mvc 各种注解
2017-07-19 16:01 431http://blog.csdn.net/sudiluo_ja ... -
springmvc实现网站限流(HandlerInterceptorAdapter 拦截器)
2017-07-17 16:09 936辅助类,用于存储每个请求的访问数 public class A ... -
@RequestMapping 用法详解之地址映射
2017-07-14 18:36 351引言: 前段时间项目中用到了RESTful模式来开发程序,但是 ... -
SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
2017-07-11 19:16 16481.过滤器: 依赖于se ... -
springMvc--静态资源拦截
2017-07-10 18:38 413http://www.cnblogs.com/liucongl ... -
springMvc--接受日期类型参数处理
2017-07-10 18:33 9711.controller /** * 接收日期类型 ... -
SpringMVC 深度解析@RequestMapping(一)
2017-02-27 16:09 409参考:http://blog.csdn.net/congcon ... -
深入解析 Spring MVC的配置文件
2017-01-20 13:46 4151.关于mvc annotation-driven 中出入参数 ... -
spring3 的restful API RequestMapping介绍
2016-09-28 16:05 691spring3 的restful API RequestM ... -
@RequestParam @RequestBody @PathVariable 等参数绑定注解详解
2016-09-28 15:36 413引言: 接上一篇文章,对@RequestMapping进行地址 ...
相关推荐
SpringMVC注解@RequestParam方法原理解析 @RequestParam是SpringMVC中一个非常重要的注解,用于接收来自前端的参数值。下面我们将对@RequestParam方法原理解析进行详细的介绍。 一、作用 @RequestParam可以作用在...
1. **基本用法**:将`@RequestParam` 注解应用于方法参数,如`@RequestParam("name") String userName`,表示从请求中获取名为"name"的参数并将其值赋给变量`userName`。 2. **默认值**:可以为`@RequestParam` ...
本文将深入解析`@RequestParam`的工作原理及其关键特性。 首先,`@RequestParam` 包含四个主要参数: 1. `String name`:指定请求参数的名称,用于匹配HTTP请求中的查询参数或表单数据。 2. `String value`:与`...
SpringMvc 框架中的 @RequestParam 注解是一种常用的参数注解,用于将 HTTP 请求参数绑定到方法参数上。该注解提供了多种参数类型的支持,包括基本数据类型和包装类型。在使用 @RequestParam 注解时,建议使用包装...
在Spring MVC框架中,`@Controller`、`@RequestMapping`、`@RequestParam`以及`ModelAndView`是四个关键的注解,它们对于构建基于Java的Web应用程序至关重要。下面将详细介绍这些概念及其在实际开发中的应用。 `@...
在这个"springmvc注解简单实例"中,我们将深入探讨Spring MVC中的一些关键注解,以及它们在DAO层、Service层和Controller层中的应用。让我们逐一解析这些层面的注解使用。 首先,我们来到**DAO层**。在Spring MVC中...
本文将深入解析SpringMVC如何处理GET和POST请求中的参数,以及如何使用@RequestParam和@RequestBody注解。 1. GET请求 GET请求通常用于获取资源,其参数直接附加在URL路径后面,以键值对的形式存在。例如,`/api/...
本文档将深入解析 Spring MVC 中的核心注解,帮助开发者更好地理解和使用这些注解进行高效开发。 ### 1. `@Controller` `@Controller` 注解是 Spring MVC 中的关键注解,用于标记一个类作为 MVC 应用中的控制器。...
在"SPRINGMVC 注解范例程序"中,我们可以深入理解 Spring MVC 如何利用注解进行配置简化,提高开发效率。下面将详细介绍 Spring MVC 中的关键注解和其工作原理。 1. **@Controller**:这是 Spring MVC 中的核心注解...
在“springMVC 注解版”中,我们将主要关注如何使用注解来简化 Spring MVC 的配置和开发过程。 在传统的 Spring MVC 中,我们需要通过 XML 配置文件来声明控制器、模型、视图等组件,但随着注解的引入,我们可以...
例如,使用注解来定义控制器和处理方法,但通过XML配置来设置全局策略,如拦截器、视图解析器等。 综上所述,Spring MVC的注解和非注解方式各有优势,选择哪种方式取决于项目需求、团队习惯和个人偏好。理解并熟练...
在"springmvc学习笔记--springmvc注解开发.zip"这个压缩包中,我们可以深入探讨Spring MVC的注解驱动开发方式,这是一种简洁且高效的开发模式。 1. **Spring MVC基础**: Spring MVC的核心组件包括...
在本文中,我们将深入探讨“注解式Spring MVC”的概念及其在实际开发中的应用。Spring MVC是Spring框架的一部分,主要用于构建Web应用程序。它利用注解简化了配置过程,提高了开发效率。 1. **注解基础** 在Spring...
**基于注解的SpringMVC简介** SpringMVC是Spring框架的一个模块,主要负责处理Web应用的请求和响应。在传统的SpringMVC配置中,我们需要通过XML文件来配置控制器、视图解析器、模型-视图-控制器(MVC)的各个组件。...
"SpringMVC纯注解配置"是SpringMVC框架的一种高级用法,旨在减少XML配置文件的使用,提高开发效率和代码可读性。在这个主题中,我们将深入探讨如何利用注解实现SpringMVC的配置以及jQuery如何处理后台返回的JSON对象...
通过这个"springMVC注解开发代码"项目,开发者可以学习到如何使用注解进行 Spring MVC 应用的完整开发,包括控制器、模型绑定、视图解析、异常处理等多个核心概念。同时,结合 `pom.xml` 文件管理和依赖,可以更好地...
此外,还需要配置SpringMVC的相关设置,包括处理器映射器、视图解析器以及文件上传的配置。这些配置通常在`WebApplicationContext`的配置文件(如`dispatcher-servlet.xml`)中完成。 最后,为了展示结果,你可能...
在Spring MVC框架中,注解的使用极大地简化了配置,提高了开发效率。本文将深入探讨如何基于注解实现Spring MVC的范例,旨在为初学者提供一个清晰的入门指南。 一、Spring MVC简介 Spring MVC是Spring框架的一部分...
3. `springmvc-config.xml`:SpringMVC的配置文件,定义处理器映射器、视图解析器等。 4. `flex-servlet.xml`:BlazeDS的配置文件,用于配置消息经纪人和服务。 通过以上配置,我们可以创建一个高效的Java Web应用...