SpringMVC demo(配置、返回json)

1、jar包

  1. spring-webmvc-4.3.9.RELEASE.jar
  2. jackson-annotations-2.9.9.jar
  3. jackson-core-2.9.9.jar
  4. jackson-databind-2.9.9.3.jar

 2、web.xml配置


	
	  springmvc
	  org.springframework.web.servlet.DispatcherServlet
	      
	            contextConfigLocation
	             
	            classpath:springmvc.xml
	      
  	
  	 
  	
	  	springmvc
	  	/
  	

3、springmvc.xml配置

在src目录下,与applicationContext.xml同一目录上创建springmvc.xml

SpringMVC demo(配置、返回json)_第1张图片



 
        
        
		
		    
		
        
        
		
		
		  
    	
		
		
		
			
			
		

4、MyController

package com.ylz.cdaws.webservice;

import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
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.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.json.MappingJackson2JsonView;

import com.alibaba.fastjson.JSONObject;



/**
 * 一、RequestBody、testObjGP(Test obj)支持复杂级联对象
 * 
 * 二、当前台界面使用GET或POST方式提交数据时,数据编码格式由请求头的ContentType指定。分为以下几种情况:
 *	1. application/x-www-form-urlencoded,这种情况的数据@RequestParam、@ModelAttribute可以处理,@RequestBody也可以处理。
 *	2. multipart/form-data,@RequestBody不能处理这种格式的数据。(form表单里面有文件上传时,必须要指定enctype属性值为multipart/form-data,意思是以二进制流的形式传输文件。)
 *	3. application/json、application/xml等格式的数据,必须使用@RequestBody来处理。
 * 
 * @author WZX
 *
 */
@Controller(value="com.ylz.cdaws.webservice.MyController")
@RequestMapping("/myHttpServer")
public class MyController {
	
	/**
	 * 默认方式 一  支持POST、GET方式
	 * @param map
	 * @return
	 */
	@RequestMapping(value = "/testGP", method = {RequestMethod.GET,RequestMethod.POST})
	@ResponseBody
	public Map testGP(@RequestParam Map map){
		System.out.println(map.get("param").toString());
		return map;
		
	}
	
	/**
	 * 默认方式 二  仅支持POST方式
	 * @param map
	 * @return
	 */
	@RequestMapping(value = "/testP", method = RequestMethod.POST)
	@ResponseBody
	public Map testP(@RequestBody Map map){
		System.out.println(map.get("param").toString());
		return map;
		
	}
	
	/**
	 * 默认方式 三  支持POST方式
	 * @param map
	 * @return
	 */
	@RequestMapping(value = "/testObj", method = RequestMethod.POST)
	@ResponseBody
	public Test testObj(@RequestBody Test obj){
		System.out.println(obj.getParam());
		return obj;
		
	}
	
	/**
	 * 默认方式 四 支持GET、POST方式  支持复杂的级联Object
	 * @param map
	 * @return
	 */
	@RequestMapping(value = "/testObjGP", method = {RequestMethod.GET,RequestMethod.POST})
	@ResponseBody
	public Test testObjGP(Test obj){
		System.out.println(obj.getParam());
		return obj;
		
	}
	
	/**
	 * 默认方式 五 支持GET、POST方式
	 * @param map
	 * @return
	 */
	@RequestMapping(value = "/testObjGP2", method = {RequestMethod.GET,RequestMethod.POST})
	@ResponseBody
	public Test testObjGP2(@ModelAttribute Test obj){
		System.out.println(obj.getParam());
		return obj;
		
	}


	/**
	 * ModelAndView方式返回JSON 支持GET、POST方式
	 * @param map
	 * @return
	 */
	@RequestMapping(value = "/test2", method = {RequestMethod.GET,RequestMethod.POST})
	@ResponseBody
	public ModelAndView test2(@RequestParam Map map){
		System.out.println(map.get("param").toString());
		return new ModelAndView(new MappingJackson2JsonView(), map);
		
	}
	
	/**
	 * jsonString方式返回JSON 支持GET、POST方式
	 * @param map
	 * @return
	 */
	@RequestMapping(value = "/test3", method = {RequestMethod.GET,RequestMethod.POST})
	@ResponseBody
	public String test3(@RequestParam Map map){
		System.out.println(map.get("param").toString());
		return JSONObject.toJSONString(map);
	}

}

5、请求

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'index.jsp' starting page
	
	
	    
	
	
	
	
	
  
  
  
    This is my JSP page. 

6、Test.java

package com.ylz.cdaws.webservice;

public class Test {
	private String param;

	public String getParam() {
		return param;
	}

	public void setParam(String param) {
		this.param = param;
	}

}

返回json的方式很多,以上是自己整理的一些,记录一下,欢迎补充!

 

 

 

你可能感兴趣的:(java)