HttpServletRequest取值

var params=
{
user_id:'1',
user_token:'',
charset:'',
format:'',
timestamp:'',
sign:'',
request_params:
{
project_id:'',
account_id:'110',
}
}
var obj=JSON.stringify(params);
var project_id=1;
$(function ()
{
$.ajax({
url:'api/account/get_account',
// url:'api/account/test',
type: 'POST',
dataType: 'json',
contentType: "application/x-www-form-urlencoded",
data:params,

@RequestMapping("/get_account")
public String get_account_list(HttpServletRequest request){

    // 公共入参
    int user_id = Integer.parseInt(request.getParameter("user_id"));
    String user_token = request.getParameter("user_token");
    String charset = request.getParameter("charset");
    String format = request.getParameter("format");
    String timestamp = request.getParameter("timestamp");
    String sign = request.getParameter("sign");
    String request_params = request.getParameter("request_params");
    System.out.println("request_params为:"+ request_params);

ajax请求,传递数据,HttpServletRequest如何取request_params的值 , request_params是一个对象

0

5个回答

你应该这么改:
1、将HTTP请求正文格式改成application/json,这样做的目的是将传递数据对象序列化成json字符串写到http请求正文中
2、不要使用getParameter,这个方法你什么也拿不到,使用request读取正文数据转成字符串,这个字符串就是ajax发送的数据了

当然可以使用框架简化代码。

1

request_params不就是个json对象吗,字符串转json对象再取值

2

举个例子:
前端:

$.ajax({
    type : "POST",
    url  : "$baseUrl/assert/uploadAssert",
    data : $("#assertInfo").serialize(),
    async: false,
    success: function(data) {
        if(data.status != 0) {
            window.location.href="$baseUrl/assert";
        }
    }
});

后端:

 @RequestMapping(value = "test", method = RequestMethod.POST)
    @ResponseBody
    public Response<Result> colorTest(@RequestBody RequestModel requestModel) {
        return new Response();
    }
1

@RequestMapping(value = "test", method = RequestMethod.POST)
@ResponseBody
public Response colorTest(@RequestBody RequestModel requestModel) {
return new Response();
}

0

自己的 解决方法 var param=
{
project_id:'1',
account_id:'110'
};
var params=
{
user_id:'1',
user_token:'',
charset:'',
format:'',
timestamp:'',
sign:'',
request_params:JSON.stringify(param) //将内嵌数据转换为JSON格式的字符串
}
var obj=JSON.stringify(params);
var project_id=1;
$(function ()
{
$.ajax({
url:'api/account/get_account',
// url:'api/account/test',
type: 'POST',
dataType: 'json',
// contentType: "application/x-www-form-urlencoded",
data:params,
success:function (data)
{
var html="";
html +="";
html +=" 组合名称";
html +="";

        // data=eval('(' + data + ')');
         data=eval(data);
        for(var i=0;i<data.rows.length;i++)
        {
            var obj=data.rows[i];
            html +="<tr>";
            html +="<td onclick='AccountDetail(\""+obj.account_id+"\",\""+obj.user_id+"\")' style='cursor: pointer'><span >"+obj.account_name+"</span></td>";
            html +="</tr>";
        }
        $("#AccountForProject").html("");
        $("#AccountForProject").html(html);
    }
})

})


后台接受的都是getParameter 都是string格式 所以先将对象转化为string字符串 传递过去,

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
HttpServletRequest获取请求参数
------------------------------------------------RequestDemo2.javapackage cn.ITHong.Request; import java.beans.PropertyDescriptor; import java.io.IOException; import java.lang.reflect.Method; import j
HttpServletRequest接收的是Json格式数据的解决办法
@Override     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (handler.getClass().isAssignableFrom(HandlerMethod.class)) {...
HttpServletRequest取值中文参数乱码问题
HttpServletRequest取值中文参数乱码问题可以获取从前台传递过来的参数1、提交方式为post,后台获取值String userName = request.getParameter("userName"); 若出现乱码,则是前台和后台的编码格式不一致引起的,一般前台JSP都是采用UTF-8的编码格式,故后台获取值时需加上编码格式 request.setCharacterEnco
HttpServletRequest获取提交表单参数(五)
(一)代码演示<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> <title>演示01</title> </head> <body> <form action="/Project01/DemoServlet" method="post"> 用户名:
spring几种获取 HttpServletRequest 对象的方式
以下的 request 实例都编号了,一共 4 种 方式1.@Autowired 方式2.public void Test(HttpServletRequest request1, HttpServletResponse resp,HttpSession session1) 方式3.((ServletRequestAttributes)RequestContextHolder.getRequest...
HttpServletRequest读取数据body为空的问题
最近新换了一个工作,节奏刚刚调整过来,这段时间没有写东西,有点惭愧,后续还是要回归正确的节奏,争取一周至少一篇。本篇记录下新工作中第一次上线踩到的一个坑,这个坑如果之前没有踩过,真的很难发现,在此记录一下,提醒下其他人避免重复犯错。问题背景本次需求有一项需要区分压测来源的数据,将压测的日志单独区分,不要打到线上正常日志中。这里比较简单,从request的header或者parameter中获取下压...
关于HttpServletRequest获取到的中文乱码问题的处理
get方法提交 因为tomcat默认的编码处理时ISO-8859-1的编码解析器,所以我i们需要对tomcat对获取到的数据进行处理: 第一步获取处理的数据解析前的源码 然后用UTF-8来解析 String name=new String(name.getBytes(“ISO-8859-1”),”UTF-8”) 或者对tomcat进行设置 打开tomcat目录中conf文件目录...
前台后台数据交互之Servlet & XMLHttpRequest(POST篇)
前面已经实现了将数据GET到后台。GET方法实现比较简单,直接将信息添加到url中即可。本篇主要介绍通过Ajax将数据POST到后台。 由于POST方法可以传递大量数据到后台,所以为了使格式的统一,将数据设置为Json格式。这就涉及到如何将数据封装为json格式,因此添加json2.js到HTML页面。 json2.js资源链接web.xml中servlet相关配置不变(参考GET篇) J
从HttpServletRequest中读取url和参数
1. URL: String url = request.getRequestURI(); 2. 请求方式: String method = request.getMethod();   3. 跟在url后面的参数: String param = request.getQueryString();   该方法获取到的参数,部分字符是经过转义的,如&quot;&amp;lt;&quot;转义成&quot;%3C&quot;等。 另...
servlet中request的作用域(包括存值和取值)
servlet中request的作用域(包括存值和取值) package com.cdsxt.action; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import j
关于ServletRequest servletRequest中获取流的方法getInputStream()和.getReader()只能获取一次的方法
        在一次
获取并修改request参数
导读:创作本文目的是给使用jersey使用者修改request参数做一定参考的。filter 获值后,修改参数后,接口接受数据为空。出现的原因是jersey框架内的安全机制造成的。可以自己浏览 jersey的API文档。 分享我的工作经历: request取值我用了三种方式,但是设值后,然并卵,jersey后台取值都不成功:(只要取参数调用了一次,getParamMap()再设值进去就...
webx 中request 对象作为单例注入的实现
webx 文档中描述: 你不能把一个短期的对象如request、response和request context注入到MyAction这个singleton对象。然而,在Webx中,这样做是可以的!奥秘在于Request Contexts服务对上表所列的这些短期对象作了特殊的处理,使它们可以被注入到singleton对象中。事实上,被注入的只是一个“空壳”,真正的对象是在被访问到的时候才会从线程
Java 使用HttpServletRequest参数接收问题笔记
(一)使用get方式传参数,接收乱码问题 原因:浏览器使用get方式传参默认试用的是“iso8859-1”编码 解决方法: 转换编码,如: String Param1 = new String(request.getParameter("Param1").getBytes("iso8859-1"),"utf-8"); (二)HttpServletRequest接收参数 ,获取不到
http在request中放参数并在前台获取
http在request中放参数并在前台获取
(重要)Http请求和HttpServletRequest中获得对应参数的方法
https://blog.csdn.net/oncealong/article/details/51383563#commentseditHttp请求GET /firstSample/hello HTTP/1.1 请求行 Host: localhost:8080 请求头 Connection: keep-alive Cache-Control: max-age=0...
AJAX对于JAVA接收HttpServletRequest和json字符串两种方式的传递写法
AJAX对于JAVA接收HttpServletRequest和json字符串两种方式的传递写法 1、json字符串的接收形式   在JAVA项目开发中,接口的接收参数有的是以json字符串 形式接收的,后台写法如下: public ObjectMapper jsonTranster = new ObjectMapper(); @CrossOrigin @RequestMapp...
SpringMVC学习记录(七)--拦截器的使用
SpringMVC的请求如下面这种图所示: 可以看出所有的请求都要通过Dispatherservlet来接收,然后通过Handlermapping来决定使用哪个控制器,再根据ViewResolver来决定返回哪个视图.从流程来看,Handlermapping就是我们可以实现拦截器的第一种方法.另外还有一种是实现WebRequestInterceptor接口,或者继承其子类.一.实现HandlerI
postman发送post请求,用request.getParameter()获取请求参数注意事项
后台springMVC用request.getParameter()获取请求参数的话,在postman发送请求时,body选取x-www-form-urlencoded,Headers部分是key: Content-Type----------value: application/x-www-form-urlencoded。当然,也可以使用其他方式获取请求参数如@RequestBody 实体类 实...
Http请求和HttpServletRequest中获得对应参数的方法
当用户访问网页, 会使用http发送请求, 在服务端需要解析用户的请求. 那么http请求和HttpServletRequest的方法是如何对应的呢?
在HttpServletRequest request获得参数,通过类的set方法封装到对象中
 public static void setAttributes(HttpServletRequest req,Object obj) throws Exception{ Map map=req.getParameterMap(); for (String key : map.keySet()) { Class objClass = (Class) obj.getClass
将HttpServletRequest中的参数反射至实体类
/** * 将HttpServletRequest中的参数反射至实体类 * @param <T> * @param clazz * @param request * @return */ private <T> void reflectParameter(T obj, HttpServletRequest request) {
springboot 获取body内数据并赋值给servlet, 同时保留body数据
在此我们通过过滤器来完成本功能@WebFilter(filterName = &quot;RequestBodyFilter&quot;, urlPatterns = &quot;/**&quot;) public class RequestBodyFilter implements Filter { public static final String LOGTHREAD_ID=&quot;logthreadId&quot;; priva...
详解resteasy Context注解实现
相信使用resteasy、包括dubbo的朋友对@Context这个注解一定不会陌生,我们可以通过@Context这个注解获取HttpServletRequest、HttpServletResponse等一些类的实体,那么为什么能获取到这些类的对象呢,其背后的实现原理又如何呢,闲话不多说,笔者将从resteasy源码出发,一一讲述这其中的缘由: 核心类ServletContainerDispat...
Thymeleaf教程 (十三) 附件:基础对象和web参数访问方式。
这里将学习基础对象及系统中一些参数的访问方式
HttpServletRequest读取body时GBK与UTF-8之间的乱码问题
测试后发现存在单数中文乱码问题, 找了半天原来是读取post请求的body时 我用了readLine方法,他默认的是GBK解码, 然而body里的数据是UTF-8编码的 GBK一个字符2个字节,UTF-8一个字符3个字节, 当用GBK去读(解码)UTF-8编码后的内容, 当UTF-8字符是奇数个的时候,GBK解码之后会多出一位字节,那只能用'?'字节(63...
java 获取发送的请求中所有参数和值request
[code=&quot;java&quot;]Enumeration en = arg0.getParameterNames(); String str = &quot;cmd=_notify-validate&quot;; String orderlist=&quot;&quot;; while(en.hasMoreElements()){ String paramName = (String)en.nextElement();...
获取IP通过HttpServletRequest
获取IP通过HttpServletRequest获取IP通过HttpServletRequest
后台获取前端信息的纽带--HttpServletRequest
HttpServletRequestRequest对象具体应用 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的相关方法,即可以获得客户的这些信息。 一、通过request常用方法获得相关信息: 1、通过request常用方法获得客户机信息     g
http协议之request案例三:获取表单参数
package zdh.cm.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import javax.ser
获取 request 中 json 参数数据
获取 request 中 json 参数数据
HttpServletRequest看这篇文章就够了
精彩内容推荐 一套java架构师学习资源,等你拿 你所需要的大数据视频教程 java全套学习视频教程及源码 微服务资源springboot、springcloud、docker、dubbo项目实战等倾心分享 一、HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,...
HttpServletRequest
我的web工程已经导入了一个Servlet 架包了,但是在rnHttpServletRequest request=ServletActionContext.getRequest();rn还是报错:Type mismatch: cannot convert from HttpServletRequest to HttpServletRequest ,我就根据提示强转:HttpServletRequest request=(HttpServletRequest) ServletActionContext.getRequest();rn但是这样根本做不到:javax.servlet.http.HttpSession session = request.getSession(true); rn我的JDK是1.7,是不是版JDK版本的问题呢!rn
在spring中获得HttpServletRequest 的三种方式
1.最简单的方式(注解法)@Autowiredprivate HttpServletRequest request;2.最麻烦的方法a. 在web.xml中配置一个监听 org.springframework.web.context.request.RequestContextListener b.之后在程序里可以用Http
导入项目到eclipse中代码HttpServletRequest 到不到对应jar
Error: Theimport javax.servlet cannot be resolved Theimport javax.servlet.http.HttpServletRequest cannot beresolved Description: 我们经常会把别人的项目copy到自己这里进行二次开发或者参考,有的时候会发生上面的错误, ? 即eclip
后台通过HttpServletRequest对象获取页面表单传递过来的参数的方式
后台通过HttpServletRequest对象获取页面表单传递过来的参数的方式如下: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //得到页面表单传递过来的键值对中的键所对应的值 Str
HttpServletRequest报错是缺少导入包
错误提示是因为没有引入javax.servlet.http.HttpServletRequest所在的包,编译错误。 导入别人的项目时,没有servlet-api.jar 包 原因:myeclipse建项目时tomcat会自动导入servlet-api.ja 解决方法:去tomcat安装目录-&amp;gt;lib-&amp;gt;servlet-api.jar包考入到项目lib中 ...
获取HttpServletRequest几种方法
代码获取 先web.xml配置: &amp;lt;listener&amp;gt; &amp;lt;listener-class&amp;gt; org.springframework.web.context.request.RequestContextListener &amp;lt;/listener-class&amp;gt; &amp;lt;/listener&amp;gt; ...
HttpServletRequest 上传文件遇到的坑
一.开发小插曲            这里是牢骚部分,可以直接跳过到代码部分,最近遇到一个需求是上传excel文件解析数据到数据库存储,一开始是用postman上传文件,后来发现上传不了,网上各种能上传的都试过了,最后从项目架构着手,项目使用的不是原生springmvc,经过封装,并且是前后台分离,前台是angular+node.查看web.xml发现dispatchservlet也是封装的,s...
HttpServletRequest 对文件上传的支持
此前,对于处理上传文件的操作一直是让开发者头疼的问题,因为 Servlet 本身没有对此提供直接的支持,需要使用第三方框架来实现,而且使用起来也不够简单。如今这都成为了历史,Servlet 3.0 已经提供了这个功能,而且使用也非常简单。为此,HttpServletRequest 提供了两个方法用于从请求中解析出上传的文件:•Part getPart(String name) •Collection
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 怎么学习互联网大数据 村干部学习大数据心得