SpringMVC AJAX支持

网站或者BS系统使用ajax技术是再常见不过的了。SpringMVC本身对ajax有很好的支持,前后端使用json作为数据传输格式实现起来很方便。下面我们看个具体的例子。

如何搭建一个最基础的springMVC项目,请参看:

http://blog.csdn.net/clj198606061111/article/details/20492887


一、引入jar包

我们需要引入下面jar包,以提供java对象转为json支持。

1)  jackson-core-asl-1.9.11.jar

2)  jackson-mapper-asl-1.9.11.jar

maven配置:


		org.codehaus.jackson
		jackson-mapper-asl
		1.9.11

二、测试代码

1、UserAction.java

Ajax方法中加上@ResponseBody注解,返回的java对象会被自动转为json。

package com.clj.test.user.action;

import java.util.HashMap;
import java.util.Map;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@Scope("prototype") 
@RequestMapping("/user")
public class UserAction
{
    @RequestMapping("/ajaxTest")
    @ResponseBody
    public Map ajaxTest(String name,String password)
    {
        System.out.println("name:"+name+",password:"+password);
        
        Map map=new HashMap();
        map.put("msg", "我接到ajax请求了!!!");
        
        return map;
    }
}

2、ajaxTest.html





ajaxTestPage




AJAX Test


上面的测试页面中,我们引用的js的实际位置是:/WEB-INF/js/jquery-1.11.0.min.js但是页面上我们使用的地址却是: ./js/jquery-1.11.0.min.js为什么我们能访问到这个文件能,因为这个js文件是一个静态文件,告诉springMVC这个是静态资源,你要作为静态资源来处理,在springMVC配置文件中加如下配置:


这样/WEB-INF/js/下的所有文件我们都可以通过js/这个路径来引用了。

三、测试

浏览器中直接输入:http://localhost:8080/springMVC/ajaxTest.html

便可进入测试页面,如果进不了这个测试页面,看看web.xml中是否加了如下配置

        
	    default       
	    *.html      
	 

我们的springMVC配置的是REST风格的地址请求方式,如果不加上面的配置,html文件也会被springMVC的拦截器拦截,但是又没有具体的处理器来处理,就会出现找不到文件的情况。

 

点击测试页的testAjax按钮,会弹出如下对话框,说明ajax请求已经成功,后台的信息“我接到ajax请求了!!!”已经传到了页面。

SpringMVC AJAX支持_第1张图片

你可能感兴趣的:(spring-mvc,ajax)