`

java服务器端接收json格式传递的参数

 
阅读更多

1,传递参数的两种访书,第一是key-value形式,对于这种我们在服务器端直接使用 request.getParameter("key");就能获取key对应的value。下面是代码:

 

@Controller
@RequestMapping("/api/log/logprint")
public class HelloController {
	@RequestMapping(method = RequestMethod.POST)
	public String printWelcome(HttpServletRequest request, HttpServletResponse response,ModelMap model) {
		model.addAttribute("message", "Hello world!");

		////接收参数
		String logBody = request.getParameter("log_body");
		System.out.println("====logBody="+logBody);

		return "hello";
	}
}

 

2,第二是json格式,但是对于传递的json就不能使用这样的代码了,

利用json传递的参数存在request的body里,我们需要从里面输入流里面读取,下面是代码:

 

 

public class LogPrintInterceptor extends HandlerInterceptorAdapter {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        ////接收参数 获取logBody、requestId
        String requestId = request.getHeader("requestid");
        String input = null;
        StringBuffer requestBody = new StringBuffer();
        try {
            BufferedReader reader = request.getReader();
            while((input = reader.readLine()) != null) {
                requestBody.append(input);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        if (StringUtils.isNotBlank(requestId)) {
            return true;
        }else{
            return false;
        }
    }
}

 3,第三是也是json格式,和第二种不同的是直接转为java对象,下面是代码:

请的JSON数据:

{
    "uname":"81110318",
    "pwd":"d59cd7385c99fe94c70be3396d7d004c"
}

 接收的Java代码:

 

@Controller
@RequestMapping("/api/login")
public class UserController {

	@RequestMapping(method = RequestMethod.POST)
	public String login(@RequestBody User user,HttpServletRequest request, HttpServletResponse response,ModelMap model) {
		model.addAttribute("message", "Hello world!");
		System.out.println("uname="+user.getUname()+", pwd="+user.getPwd());

		return "hello";
	}
}

 

分享到:
评论

相关推荐

    JAVA-JSON工具转换类

    这对于数据的序列化和反序列化非常有用,使得在服务器端和客户端之间传递复杂的数据结构变得更加便捷。 `ezmorph`库则主要用于对象的转型,`ezmorph-1.0.3.jar`是其一个版本。在处理JSON时,可能需要将JSON解析得到...

    Java Http请求传json数据乱码问题的解决

    例如,使用`request.getParameter("params")`获取参数时,如果请求时的编码和服务器端解析的编码不一致,就会出现乱码。在本例中,服务端代码使用了`StringEscapeUtils.unescapeJava`方法进行了解码尝试,该方法可能...

    TCP收发json. 客户端和服务端

    在这个示例中,文件`http_test_recive_1`可能是服务器端代码,用于接收客户端发送的JSON数据;而`http_test_send_1`可能是客户端代码,负责构造JSON数据并发送给服务器。这两个文件将详细展示如何在QT环境中使用TCP...

    lotus domino java代理_获取传递值json

    Lotus Domino 是一种基于Notes技术的服务器端应用程序, Lotus Domino Java 代理是指在 Domino 服务器上运行的 Java 代理程序,可以用来处理用户请求、提供数据服务等。今天,我们将讨论如何在 Lotus Domino Java ...

    app接口传递json格式参数

    这里,我们将深入探讨“app接口传递json格式参数”的主题,以及如何在Java后台实现这一功能。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便机器解析和生成...

    前端上传多文件,携带多参数,java接收(省去频繁写一一对应的参数)(csdn)————程序.pdf

    在这个后端方法中,我们使用`@RequestParam`注解来接收前端传递的参数。`profile`参数用于接收上传的文件数组,而`param`参数则是前端附加的JSON字符串,通过`JSON.parseObject`解析成HashMap对象,便于后续处理。 ...

    java json工具包

    描述中提到了"json jsonjsp工具 jspjsonjar包",这暗示了这个工具包可能特别关注于与JSP(Java Server Pages)的集成,便于在服务器端的JSP页面中处理JSON数据。"java 转化成json数据格式"表明这个工具包的核心功能...

    jsp中利用jquery+ajax在前后台之间传递json格式参数.docx

    在本示例中,主要讲解如何通过AJAX将JSON格式的参数传递给服务器,并接收服务器返回的JSON数据。 首先,前端(客户端)使用jQuery的AJAX方法来发送请求。在jQuery中,`$.ajax()`函数用于发起异步HTTP请求。关键的...

    jquery $.post()的用法 传递json文本 客户端和服务器端相互传递

    jQuery 提供了多种 AJAX 方法来简化这一过程,其中 `$.post()` 是一种常用的方式来实现客户端向服务器端发送数据并接收响应。本文将详细探讨 `$.post()` 的使用方法,特别是在传递 JSON 数据时的应用。 #### 一、`$...

    Android客户端与服务器端的json数据交互(内含大量知识点)

    在Android应用开发中,客户端与服务器端的数据交互是不可或缺的一部分,JSON作为一种轻量级的数据交换格式,被广泛用于Android和服务器之间的通信。本教程将深入探讨Android客户端如何使用JSON进行数据交互,包括...

    JAVA中使用JSON进行数据传递示例

    在服务器端,例如在Servlet中,可以创建一个HashMap存储数据,然后将HashMap转换成JSONArray,以JSON字符串的形式返回: ```java Map, Object> params = new HashMap(); params.put("username", "your name"); ...

    jsp中利用jquery+ajax在前后台之间传递json格式参数

    `dataType: "json"`告诉jQuery期望从服务器接收JSON格式的响应。 在后端,通常使用Java Servlet或Action类来处理请求。在本例中,我们从HttpServletRequest对象中获取`filepath`参数: ```java String filepath = ...

    json.rar_JSON_JSON java_ajax json_jquery json jar_json-lib-2.2.2

    这使得服务器端的Java代码能够理解和解析由jQuery发出的JSON请求,也可以将响应数据以JSON格式返回给jQuery。 5. **json-lib-2.2.2.jar**:这是一个非常流行的JSON库,名为json-lib,版本号为2.2.2。它提供了一套...

    Spring MVC不能直接接收list类型参数的问题

    这种方法改变了 jQuery 对参数的序列化方式,使得服务器端能够正确解析 `List` 类型的参数。 ##### 方法二:创建封装对象 另一种解决方案是创建一个专门的对象来封装列表参数。首先定义一个 VO (Value Object) 类,...

    AJAX和struts2传递JSON数组

    2. 创建一个Action类,包含一个List类型的字段来接收JSON数组: ```java public class Struts2Action extends ActionSupport { private List<MyObject> items; public List<MyObject> getItems() { return ...

    jquery与java交互通过json传递数据的经典实例

    设置URL为Java后台的处理接口,方法通常为POST或GET,`dataType`参数设为'json',表示我们期望服务器返回JSON格式的数据。 ```javascript $.ajax({ url: 'your_server_url', type: 'POST', // 或 'GET' dataType...

    Java-tomcat-axis2开发webservice返回json数据

    Servlet是Java语言中用于处理HTTP请求的服务器端组件。Tomcat可以运行Java Web应用程序,包括JSP和Servlet,为开发者提供了一个简单而高效的部署环境。 **Axis2**: Axis2是Apache软件基金会开发的一个Web服务引擎...

    json传递数据

    服务器端的Java代码接收到请求后,可以使用诸如JDBC(Java Database Connectivity)这样的API来连接数据库并执行查询。查询结果通常以集合(如List或ArrayList)的形式返回,每个元素代表数据库中的一条记录。 五、...

    适用于JAVA1.5+版本的json lib

    在Java中,JSON库帮助开发者进行JSON数据的序列化和反序列化,使得Java程序可以轻松地与服务器之间传递JSON格式的数据。 本资源提供的"适用于JAVA1.5+版本的json lib"是一套JSON处理的库,特别适合Java 1.5及以上...

    flex使用 RemoteObject 与java进行json格式的数据交互

    服务器端方法通常会将JSON字符串转换为Java对象,执行必要的业务逻辑,然后将结果以JSON格式返回。 在Java中,你可以使用诸如Jackson或Gson这样的库来序列化和反序列化JSON数据。例如,使用Jackson进行JSON解析: ...

Global site tag (gtag.js) - Google Analytics