spring web参数传递
spring boot 参数相关
******************************************
@RequestParam
这个注解用来绑定单个请求数据,既可以是url中的参数,也可以是表单提交的参数和上传的文件。
- @RequestMapping(value="/login",method="...")
- public ModelMap login(@RequestParam("username") String name,@RequestParam("password")String password){}
不能处理json格式请求
@PathVariable
这个注解可以将URL中的占位符参数绑定到控制器处理方法的入参。
- @RequestMapping(value="/login/{username}/{password}",method=RequestMethod.Post)
- public ModelMap login(@PathVariable String username,@PathVariable String password){
- }
===============================================================
以上2种注解的使用方式参考Spring Boot Web项目之参数绑定,讲解的很详细,大部分情况都考虑到了。
\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\
@RequestBody
这个注解是传JSON对象用的,参考 @RequestBody的正确使用方法。不能通过Form表单、URL传参。
- @RequestMapping(value="/login",method=RequestMethod.POST)
- public ModelMap login(@RequestBody User user){
- user.name ......................
- }
=================================================================
Form-data
传送form表单数据,可以不用注解,直接传参,参数名字要一样。
- @RequestMapping(value="/login",method=RequestMethod.POST)
- public ModelMap login(String username,String password){}
=========================================================================
上传文件
- @RequestMapping(value="/login",method=RequestMethod.Post)
- public ModelMap login(User user){}
{"enctype":"multipart/form-data"}
==================================================================
@RestController:
用于标注控制层组件(如struts中的action),包含@Controller和@ResponseBody
都是用来表示Spring某个类的是否可以接收HTTP请求
2. Controller, RestController的不同点
@Controller标识一个Spring类是Spring MVC controller处理器
@RestController: a convenience annotation that does nothing more than adding the@Controller and @ResponseBody annotations。 @RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。
========================================================================
@ResponseBody
@ResponseBody
public Model login(@RequestBody(require=false) User user){}
=====================================================================
spring web参数传递的更多相关文章
- 《Spring实战》学习笔记-第五章:构建Spring web应用
之前一直在看<Spring实战>第三版,看到第五章时发现很多东西已经过时被废弃了,于是现在开始读<Spring实战>第四版了,章节安排与之前不同了,里面应用的应该是最新的技术. ...
- 第05章-构建Spring Web应用程序
1. Spring MVC起步 1.1 跟踪Spring MVC的请求 前端控制器DispatcherServlet 请求旅程的第一站是Spring的DispatcherServlet.与大多数基于J ...
- Spring实战第八章学习笔记————使用Spring Web Flow
Spring实战第八章学习笔记----使用Spring Web Flow Spring Web Flow是一个Web框架,它适用于元素按规定流程运行的程序. 其实我们可以使用任何WEB框架写流程化的应 ...
- Spring实战第五章学习笔记————构建Spring Web应用程序
Spring实战第五章学习笔记----构建Spring Web应用程序 Spring MVC基于模型-视图-控制器(Model-View-Controller)模式实现,它能够构建像Spring框架那 ...
- 笔记39 Spring Web Flow——订单流程(收集顾客信息)
如果你曾经订购过披萨,你可能会知道流程.他们首先会询问你的电 话号码.电话号码除了能够让送货司机在找不到你家的时候打电话给 你,还可以作为你在这个披萨店的标识.如果你是回头客,他们可以 使用这个电话号 ...
- 《SSM框架搭建》三.整合spring web
感谢学习http://blog.csdn.net/zhshulin/article/details/37956105#,还是修改了spring到最新的版本和接口开发示例 根据前一篇日志,已经有了myb ...
- Spring Web应用的最大瑕疵
众所周知, 现在的Spring框架已经成为构建企业级Java应用事实上的标准了,众多的企业项目都构建在Spring项目及其子项目之上,特别是Java Web项目,很多都使用了Spring并且遵循着We ...
- Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->Spring Framework中的spring web MVC模块
spring framework中的spring web MVC模块 1.概述 spring web mvc是spring框架中的一个模块 spring web mvc实现了web的MVC架构模式,可 ...
- spring web.xml 难点配置总结
web.xml web.xml是所有web项目的根源,没有它,任何web项目都启动不了,所以有必要了解相关的配置. ContextLoderListener,ContextLoaderServlet, ...
随机推荐
- django 多线程下载图片
example1: from multiprocessing.dummy import Pool as ThreadPool #多线程 import time import urllib2 urls ...
- mysqldump备份与恢复笔记
mysql> show databases; +--------------------+ | Database | +--------------------+ | inf ...
- C# 调用Tesseract实现OCR
介绍 Tesseract是一个基于Apache2.0协议开源的跨平台ocr引擎,支持多种语言的识别,在Windows和Linux上都有良好的支持. 创建工程 创建一个C#的控制台工程 添加System ...
- Spring Bean生命周期详解
对象生命周期:创建(实例化----初始化)---使用----销毁,而在Spring中,Bean对象周期当然遵从这一过程,但是Spring提供了许多对外接口,允许开发者对三个过程(实例化.初始化.销毁) ...
- Spring 了解Bean的一生(生命周期)
转载 https://blog.csdn.net/w_linux/article/details/80086950 该篇博客就来了解IoC容器下Bean的一生吧,也可以理解为bean的生命周期. ## ...
- npm下载安装文件太慢..修改这个就好了..治好多年的便秘..真香预警
修改 npm 的安装目录下的 npmrc文件 增加一条 registry=http://registry.cnpmjs.org 将原来的https改成下面的http $ npm config set ...
- kettle数据库连接使用变量
新增db连接(密码也可以设置参数) 转换中,右键空白处,选择转换设置
- leetcode1030
class Solution(object): def __init__(self): self.List = list() def bfs(self,R,C,S,V): T = list() whi ...
- js对象拷贝遇到的坑
问题:通过拷贝赋值后,所有的对象的name居然都是C test(){ let person = [{'name':'danny'}] let names = ['A','B','C'] let tem ...
- 双网卡Iptables端口转发
当前场景如下 跳板机A是双网卡,有一个内网IP和一个公网IP 内网IP: 10.0.10.30 外网IP: 58.68.255.123 内网机器:10.0.30.88,可以和10.0.10.30通讯 ...