import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.HTTP;
import org.json.JSONObject;
import com.qiyuexinxi.model.OrderModel;
public class ClientTest {
static InputStream input = null;// 输入流
static InputStreamReader isr = null;
static BufferedReader buffer = null;
static StringBuffer sb = null;
static String line = null;
public static void main(String[] args) {
OrderModel order = new OrderModel();
order.setCourse_id("0000000002");
order.setUser_id("0000000000006");
order.setFee(209);
JSONObject jsonObject = new JSONObject(order);
HttpPost httpPost = new HttpPost("http://localhost:8080/initOrder");
StringEntity entity = new StringEntity(jsonObject.toString(), HTTP.UTF_8);
entity.setContentType("application/json");
httpPost.setEntity(entity);
HttpClient client = new DefaultHttpClient();
try {
HttpResponse response = client.execute(httpPost);
int code = response.getStatusLine().getStatusCode();
// 若状态值为200,则ok
if (code == HttpStatus.SC_OK) {
// 从服务器获得输入流
input = response.getEntity().getContent();
isr = new InputStreamReader(input);
buffer = new BufferedReader(isr, 10 * 1024);
sb = new StringBuffer();
while ((line = buffer.readLine()) != null) {
sb.append(line);
}
}
} catch (Exception e) {
// 其他异常同样读取assets目录中的"local_stream.xml"文件
e.printStackTrace();
} finally {
System.err.println(sb.toString());
try {
if (buffer != null) {
buffer.close();
buffer = null;
}
if (isr != null) {
isr.close();
isr = null;
}
if (input != null) {
input.close();
input = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
package com.qiyuexinxi.util;
import javax.validation.Valid;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.qiyuexinxi.model.OrderModel;
import com.qiyuexinxi.service.OrderService;
@RestController
@EnableAutoConfiguration
@SpringBootApplication
@ComponentScan(basePackages="com.qiyuexinxi")
public class Application {
@Autowired
private OrderService orderService;
@RequestMapping(value="/initOrder", method = RequestMethod.POST)
public @ResponseBody OrderModel initOrder(@Valid @RequestBody final OrderModel data) {
return orderService.initWXOrder(data);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
分享到:
相关推荐
在Spring MVC框架中,我们经常需要处理JSON数据,这些数据可能包含null值。在某些情况下,为了保持数据的整洁和避免后端处理null值时出现异常,我们需要在数据传输前过滤掉这些null值。本教程将详细介绍如何使用...
4. **配置Spring MVC**:在Spring MVC的配置文件中,设置`WebServiceMessageReceiver`和`WebServiceTemplate`,并定义一个`@Controller`来处理HTTP请求,将请求转发到Web服务。 5. **客户端调用**:在Spring MVC...
总之,"Spring MVC JSON学习"涵盖了许多关键概念,包括JSON数据的序列化和反序列化、控制器中使用`@RequestBody`和`@ResponseBody`、自定义序列化逻辑以及测试JSON API。掌握这些知识点将使你能够构建出高效、健壮的...
在Spring MVC中,我们可以使用@RequestBody注解来处理请求参数,并使用 EncryptUtils 工具类来进行加密和解密。EncryptUtils 工具类提供了sha()方法来生成签名,createAesCipher()方法来创建AES加密器。 在控制器...
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { // 处理逻辑 return new ModelAndView("errorPage"); } } ``` 5. **...
在本章中,我们将深入探讨Spring MVC框架与Servlet API以及JSON支持的相关知识。Spring MVC是Spring框架的一个核心模块,主要用于构建Web应用程序,它提供了一种优雅的方式来处理HTTP请求和响应,实现了模型-视图-...
本篇文章将深入探讨如何使用Spring MVC 3与ExtJS进行数据交互,特别是通过JSON格式来实现这一过程。 首先,Spring MVC 3引入了对RESTful服务的支持,使得JSON数据交换变得更加容易。JSON(JavaScript Object ...
这里的`@RequestBody`用于将HTTP请求体中的JSON转换为`Employee`对象,`ResponseEntity`则用于构建HTTP响应,包括状态码和响应体。 此外,为了使API更健壮,我们还需要考虑错误处理、版本控制、认证和授权。可以...
在Spring MVC中,Controller的方法参数需要是`@RequestBody`注解的,这样Spring MVC会尝试将接收到的JSON数据转化为Java对象。 2. **Content-Type设置** 要使JSON数据被正确处理,必须设置HTTP请求的`Content-...
在Spring MVC框架中,处理JSON数据是Web应用开发中的常见任务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得前后端数据交互变得更加简单和直观。本篇文章将详细讲解在Spring MVC中如何...
在Spring MVC框架中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,用于在服务器与客户端之间传输数据。本文将详细介绍如何在Spring MVC项目中配置JSON支持,以及所需的依赖包。 1. **JSON简介** ...
同时,为了支持JSON数据交换,需要引入`jackson-databind`库,并配置Spring MVC以解析和生成JSON。 文件`json`可能包含了关于JSON数据交换的示例,`springRest`可能包含具体的Spring REST服务实现代码,而`Version ...
### Spring MVC 与 AJAX/JSON #### 使用 JSON 和 AJAX 在 Spring MVC 中,可以轻松地与 AJAX 结合,实现异步数据交换。对于 JSON 数据的处理,Spring 提供了内置的支持。 - **使用 `@RequestBody` 和 `@...
《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 7...
Spring4 MVC作为Java领域最流行的MVC框架之一,提供了一流的支持来构建RESTful API,尤其适合输出JSON格式的数据结构。本文将深入探讨如何使用Spring4 MVC实现这一目标。 首先,理解REST(Representational State ...
在本主题中,我们将深入探讨Spring框架的2.5版本引入的一个重要特性——基于注解的Spring MVC配置。Spring MVC是Spring框架的一部分,专门用于构建Web应用程序,它提供了一个模型-视图-控制器(MVC)架构来组织和...
- **Spring MVC的Ajax响应**:返回的数据通常用@ResponseBody注解包裹,以便Spring MVC可以将其转换为JSON或其他格式,供前端JavaScript处理。 2. **文件上传**: - **MultipartFile接口**:Spring MVC提供...
9. **AJAX集成**:Spring MVC支持与jQuery、AngularJS等库进行AJAX通信,使用@ResponseStatus和@ResponseBody可以处理JSON或XML响应。 10. **RESTful服务**:Spring MVC通过HTTP方法(GET、POST、PUT、DELETE等)和...
例如,当用户在前端进行某些操作,如提交表单,我们可以使用Ajax发送POST请求到Spring MVC的Controller,Controller处理业务逻辑后,将结果以JSON或其他格式返回。JavaScript接收到响应后,可以在前端动态更新页面,...
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...