为什么Spring 使用Autowired方式注入HttpServletRequest,post方式请求获取不到参数?

如题,使用这种方式

@Autowired
    private HttpServletRequest r;

获取的request是
图片说明
如果是POST请求,获取不到参数,
但是如果在方法参数中注入就可以

@RequestMapping("/test.do")
    @ResponseBody
    public Object test(HttpServletRequest req) 

图片说明

2个回答

写法没问题,实际测试没发现你说的问题!

tz_yhj
哎呀好气啊 回复qq_16127313: 好像是POSTMAN的问题,我这边尝试在HTML中表单提交的方式是正常的,但是使用POSTMAN就有问题
9 个月之前 回复
qq_16127313
爱码少年 执行RestControllerTest testRestAPI 分别输出5,10,10
9 个月之前 回复
tz_yhj
哎呀好气啊 回复qq_16127313: 我这边请求参数不是在参数列表里面注入的,而是直接request.getParameter("")获取的,可以试下在https://gitee.com/00fly/java-code-frame/blob/master/springmvc-dbutils/src/main/java/com/fly/demo/controller/RestUserController.java48行输出request.getParameter("pageSize"),看下有没有值
9 个月之前 回复
qq_16127313
爱码少年 参考 https://gitee.com/00fly/java-code-frame/blob/master/springmvc-dbutils/src/test/java/com/fly/test/restful/RestControllerTest.java https://gitee.com/00fly/java-code-frame/blob/master/springmvc-dbutils/src/main/java/com/fly/demo/controller/RestUserController.java
9 个月之前 回复
qq_16127313
爱码少年 应该不大可能,这是springmvc的最基础的功能
9 个月之前 回复
tz_yhj
哎呀好气啊 有没有可能是因为spring版本的问题,我这边用的版本是3.2.2
9 个月之前 回复

HttpServletRequest 不是你写入到配置文件的,在方法参数中也不是注入,是获取页面提交的request请求

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spring不使用注入的方式获取HttpServletRequest
在进行切面开发时,我们需要HttpServletRequest的话,是不能通过AutoWired或是参数的方式进行注入的。这时候,如果我们想获取用户当前的登录信息。需要使用如下代码: import org.springframework.web.context.request.RequestContextHolder; import or...
Spring解决POST请求方式
当使用SpringMVC框架前端向后端提交post请求数据时,会遇到乱码问题。最简单的解决方式就是在web.xml中配置spring编码过滤器。(本人所用spring版本为3.2.0)代码如下: <!-- Spring编码过滤器,解决POST提交方式乱码 --> <filter> <filter-name>characterEncoding</fil...
Spring 构造参数的注入方式
[url]http://dongguoh.iteye.com/blog/113518[/url] [code="java"] package com.gjx.spring; import java.util.Date; public class HelloBean { private String name; privat...
spring mvc获取请求的参数的几种方式
对于controller,对于requestMap注解的方法,可以把方法的参数为 HttpServletRequest     request,在方法中使用request.getParameter(  )来获取参数,这样,较为简单。           另一种给函数的参数前,加上@RequestParam("请求中匹配的参数名"),这样就可以实现参数的获取。
spring bean 不使用注入的方式获取的两种方式
非注入方式取得spring注入bean的util类实现 第一种,我用在webservice接口中。 [code="java"] import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframew...
Spring——setter方式注入和构造函数方式注入
先写一个比较常见的结构: 其中UserDao跟UserManagerImpl是层与层之间的接口。 下面用这些类来演示setter方式注入跟构造函数注入来解决Manager层注入Dao问题。 一,setter方式注入 首先要在Manager实现类中定义Dao的私有成员变量,并为此变...
SpringMVC接收不到网页POST方式的参数
编写的SpringMVC服务器端来获取通过html表单提交的参数时候时候,如果是GET方式服务端能够接收到参数的值,如果是POST方式,则接收不到参数的值,代码如下 jsp: 修改商品信息: 商品名称 商品价格 商品生产日期 "/> --%> 商品图片 商品简介 ${itemsCustom.deta
POST方式参数接收不到问题
工作上的项目,前后端分离的架构,后端典型的sping-MVC,Spring,Mybatis架构。 与前端同事联调接口过程中发现: 后台跑在我本地,前端以POST方式请求的时候,如果采取form-data格式发送数据,后台的controller中可以正常接收到数据,但是如果采用x-www-form-urlencoded方式发送数据,后台的controller中就接收不到参数了。 但是后台跑在公
axios post请求后台获取不到参数
axios post请求后台获取不到参数是为什么 在做vue前端+springboot后端项目数据传输的时候,频繁的出现了400 bad request的报错,上网一查,原因是前后端数据类型不匹配。这就很奇怪了,用控制台打印完发现前后端的数据类型的确是一致的,但就是报错。分析了一下,发现这个问题应该就是axios的Post请求的问题 分析问题 先是通过观察其他类似的函数,对原有代码进行了修改。 ...
Post方式请求网络数据
第一个活动界面 public class MainActivity extends Activity { String key = "3ac9f31ff66b9746539472887b3799c3"; // 接口地址 String path = "http://web.juhe.cn:8080/constellation/getAll"; private EditText ed; p
post请求方式
javascript:rnfunction createQueryString()rn rn var firstname = document.getElementById("firstName").value;rn var middlename = document.getElementById("middleName").value;rn var birthday = document.getElementById("birthday").value;rn rn var querystring = "firstname="+firstname+"&middlename="+middlename+"&birthday="+birthday;rn return querystring;rn rnfunction createPost()rn rn var Method="post";rn createXMLHttpRequest();rn var url="test.aspx?timeStamp="+ new Date().getTime();rn var querystring = createQueryString();rn xmlHttp.open("Post",url,true);rn xmlHttp.onreadystatechange = handleStateChange;rn xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=Unicode");rn xmlHttp.send(querystring+"&Method="+Method);rn rn服务器端rnif (Request.Form["Method"].ToString() == "post")rn rn string firstname = Request.Form["firstname"].ToString();rn string middlename = Request.Form["middlename"].ToString();rn string birthday = Request.Form["birthday"].ToString();rn string Method = Request["Method"].ToString();rn string responseText = "Hello " + firstname + " " + middlename + " Your birthday is " + birthday + "." + "[Method:" + Method + "]";rn Response.Write(responseText);rn 请问post请求方式在服务器段为什么没有获取提交的参数,Request.Form["Method"]是不是获取post请求方式的参数?rn
angular post请求方式
直接上代码首先配置请求头.config(function($httpProvider){ $httpProvider.defaults.headers.post = { 'Content-Type': 'application/x-www-form-urlencoded' } })然后在控制器里写$http({ method
GET与POST请求方式
主要请求方式有:post、get、head、put、option GET: GET方法向页面请求发送参数,会出现自在地址栏中 查询字符串会出现在地址栏中,不安全,所以不用GET请求敏感数据 有大小限制,请求字符串最多有1024个字符 可以被缓存 GET请求会保存在浏览器的浏览记录中 可以添加书签 只允许ASCII字符类型,不能用二进制流 点击刷新时,不会有反应 主要是获取数据 ...
OkHttp Post请求方式
String path = "https://ic.snssdk.com/user/mobile/login/v2/"; OkHttpClient httpClient = new OkHttpClient(); FormBody body = new FormBody.Builder() .add("mobile", et_phon
Post请求方式
#pragma mark 按钮监听方法 Post请求方式 - (void)loginWithPostWithName:(NSString *)username {     NSString *userName = self.nameTextField.text;     NSString *pwd = self.passwordTextField.text;    
postman方式的post请求
测试后端接口返回的数据时,因为要发送json格式的post请求,故选择了chrome插件Postman(其他选择:curl,httpclient)
ajax之post请求方式
function f1(){             var username=document.getElementById('username').value;                    //对传递的特殊的特殊符号进行编码处理     这步必须放到请求字符串之前         username=encodeURIComponent(username);
【Post方式】网路请求
【Post方式】网路请求
get和post请求方式
get和post两种请求方式的比较: 1、给服务器传输数据的方式: GET:通过网址字符串。 POST:通过data 2、传输数据的大小: GET:网址字符串最多255字节。 POST:使用NSData,容量超过1G 3、安全性: GET:所有传输给服务器的数据,显示在网址⾥,类似于密码的明⽂输入,直接可见。 POST:数据被转成NSData(⼆进制数
nodejs(post请求方式)
案例: HTML代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登录界面</title> </head> <body> &amp
POST请求方式
使用POST请求的关键是使用NSMutableURLRequest类替代 NSURLRequest类。 这里我们把MyNotes应用变成POST方法,此时MasterViewController.m中startRequest方法的代码如下: -(void)startRequest { //用于创建一个URL字符串,在这个URL字符串后面没有参数 NSString *strURL = [[
Spring 注入方式之工厂方法注入
有时候,静态工厂方法是实例化对象的唯一方法,Spring支持通过<bean>元素的factory-method属性来装配工厂创建的Bean。 单例模式(设计模式) public class DBUtil { //构造方法私有化 private DBUtil(){} //创建一个对象实例 private static DBUtil instance ...
Jersey方式post请求springmvc(包含参数)
使用jersey访问springmvc的controller    需要注意的是 obj.toString() ,必须这样写,否则会提示格式错误
Post请求 参数为josn的传参方式
请求如下,我们在代码中如何通过url拼接的方式来发送请求 代码如下: 传参工具封装如下: public static String HttpPostWithJson(String url, String json) { String returnValue = "这是默认返回值,接口调用失败"; CloseableHttpClient httpClient = HttpClients....
post请求加json参数方式二
package com.teamdev.jxbrowser.chromium.demo.tujia; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.O...
SpringMVC参数注入方式
SpringMVC @RequestParam @RequestBody @RequestHeader
post请求方式和get请求方式等网络请求方式总结
y一,几种请求方式的解析 第一种:get请求方式请求数据 向服务器发索取数据的一种请求,get是获取信息,而不是修改信息,数据不会被修改,get请求的参数会跟在url(路径)后进行传递,请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连。 String url="http://192.168.1.117:8080/web2/servlet/LoginServlet?na
后端获取不到wx.request的post方式传的参数
直接上代码: wx.request({ url: 'yourUrl', data: { x: '' , y: '' }, method: "POST", header: { 'content-type': 'application/x-www-form-urlencoded' }, success: function(result){ ...
spring POST和GET请求方式反思
今天和前端联调,因为GET和POST方式双方吵了半天,本来以为老生常谈的一个事,没想到还是遇了很多坑,现回想一下具体基础@RequestMapping(value="/query",method=RequestMethod.POST),记住前面是value,后面是method@RequestBody返回ajax适合...
Spring三中注入方式
        构造方法注入(<construct-arg name="" ref = "" ></construct-arg>) 属性注入(<property ref=""></property>*类里必须要有无参构造方法) 注解注入(@resource 等) ...
Spring的注入方式
set方式注入 值类型注入 User类 package cn.itcast.bean; public class User { private String name; private Integer age; ... get和set方法 @Override public String toString() { ...
spring的注入方式.doc
详细介绍spring的三种注入方式,带有实例和图片
Spring的注入方式详解
原创的哦,希望能对spring学习者有所帮助
浅谈Spring的注入方式
一、前言 Spring框架核心是IOC与AOP,在代码中我们常会发现在idea等编译器中将鼠标放在@Autowired上会提示Field injection is not recommended,意思是Spring不推荐直接注入 二、常见的三种注入方式 1、第一种我们经常用的——field注入 例: @RestController public class UserController...
Spring(2) 注入方式
属性注入、构造方法注入(使用构造器注入可以指定参数的位置和类型以区分重载的构造器) 使用构造器注入配置示例: bean id="car1" class="bean.Car"> constructor-arg value="300000" index="2" type="double"/> constructor-arg value="Shanghai" index="1"/> const
Spring之注入方式
Spring注入是指在启动Spring容器加载bean配置时,完成对变量的赋值行为。常用的注入方式有设值注入和构造注入两种。 Spring在加载xml配置文件时会实例化标签中的Bean类(特别注意,Bean类如果声明了带参数的构造方法,必须要声明无参构造方法,以使得Spring可以正常实例化Bean类)。而注入就是在实例化Bean类时将其变量进行赋值操作。 设值注入需要被注入的Bean类有对属
spring 注入方式
spring提供3种注入方式1.setter方法注入Person类,一定要有setter方法package com.spring; public class Person { private String name; private int age; public String getName() { return name; } public void setName(Str...
spring的注解注入方式
1、@Service、@Controller、@Repository和@Component @Service对应着业务层 @Controller对应着控制层 @Repository对应着持久层,这样将三者分别开来更加清晰 @Component对所有的类都可以使用 2、@Autowired和@Resource @Resource注解的作用与@Autowired的作用相当,@Autow
spring的三种注入方式
spring 注入 spring 注入 spring 注入 spring 注入
spring三种注入方式
 spring 三种注入方式分别是(1)接口注入(2)构造方法注入(3)set方法注入;     (1)     (2) <bean id="springTest2" class="com.spring.test.SpringTest2"> </bean> <bean id="springTest" class="com.spring.tes.
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法