【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
2015-05-26 16:15
1291 查看
作者:ssslinppp 时间:2015年5月26日 15:32:511. 摘要本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回。Spring MVC与json参考文章:【spring学习笔记-mvc-3】返回json数据-方式1 和 【spring学习笔记-mvc-4】返回json数据-方式2。使用到的技术主要如下:Ajax:使用JQuery 提供的ajax;==>需要引入jquery.min.js文件;
Spring MVC;
Json:提供两种方式返回json数据;
2. 项目结构
3. 前端前台主界面:文件位置:
浏览器界面:
[/code]ajaxAndJson.js文件==>具体的ajax请求
[/code]
4. spring mvc配置文件web.xml
Spring MVC;
Json:提供两种方式返回json数据;
2. 项目结构
3. 前端前台主界面:文件位置:
浏览器界面:
<%@ page language="java" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>SpringMVC+ajax+json</title>
<script type="text/javascript">var basePath = "<%=basePath%>";</script>
<%-- <link rel="stylesheet" type="text/css" href="<%=basePath%>js/easyui/demo.css"> --%>
<script type="text/javascript" src="<%=basePath%>js/JQuery/jquery.min.js"></script>
<script type="text/javascript" src="<%=basePath%>js/test/ajaxAndJson.js"></script>
</head>
<body>
<div style="padding:5px 0;">
<p>方式1</p>
<a href="#" class="easyui-linkbutton" onclick="loadData1()" data-options="iconCls:'icon-add'">ajax异步获取json数据</a>
</div>
<div style="margin:10px 0 20px 0;"></div>
<div style="padding:5px 0;">
<p>方式2</p>
<a href="#" class="easyui-linkbutton" onclick="loadData2()" data-options="iconCls:'icon-add'">ajax异步获取json数据</a>
</div>
</body>
</html>
[/code]ajaxAndJson.js文件==>具体的ajax请求
function loadData1() {
var actionUrl = basePath + "test/testMVC1.action";
var params = {
"username" : 'zhangSan',
'passwd' : '12345678'
};
$.ajax({
url : actionUrl,
data : params,
dataType : "json",
cache : false,
error : function(textStatus, errorThrown) {
//$.messager.alert('错误', "系统请求错误: " + textStatus, 'error');
alert("系统请求错误: " + textStatus);
},
success : function(data, textStatus) {
//$.messager.alert('系统提示', data.username+data.passwd ,'info');
alert(data.username+data.passwd );
}
});
}
function loadData2() {
var actionUrl = basePath + "test/testMVC2.action";
var params = {
"username" : 'lisi',
'passwd' : '888888'
};
$.ajax({
url : actionUrl,
data : params,
dataType : "json",
cache : false,
error : function(textStatus, errorThrown) {
//$.messager.alert('错误', "系统请求错误: " + textStatus, 'error');
alert("系统请求错误: " + textStatus);
},
success : function(data, textStatus) {
//$.messager.alert('系统提示', data.Info+", "+data.userList[1].username ,'info');
alert(data.Info+", "+data.userList[1].username);
}
});
}
[/code]
4. spring mvc配置文件web.xml
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">[/code]<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><servlet><servlet-name>mvc-dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>mvc-dispatcher</servlet-name><url-pattern>/rest/*</url-pattern></servlet-mapping></web-app>
[/code]spring-servlet.xml<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd[/code]http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd[/code]http://www.springframework.org/schema/mvc[/code]http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">[/code]<!-- 扫描web包,应用Spring的注解 --><context:component-scan base-package="com.ll.web"/><!-- 配置视图解析器,将ModelAndView及字符串解析为具体的页面,默认优先级最低 --><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"p:viewClass="org.springframework.web.servlet.view.JstlView"p:prefix="/jsp/"p:suffix=".jsp" /><!-- bean视图解析器 --><bean class="org.springframework.web.servlet.view.BeanNameViewResolver"p:order="10" /><!-- XMl及JSON视图解析器配置 --><bean id="testMVC"class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"><property name="renderedAttributes"><set><value>userList</value><value>Info</value></set></property></bean><mvc:annotation-driven/></beans>
[/code]applicationContext.xml<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd[/code]http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd[/code]http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsd[/code]http://www.springframework.org/schema/aop[/code]http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">[/code]<!-- 扫描类包,将标注Spring注解的类自动转化Bean,同时完成Bean的注入 --><context:component-scan base-package="com.ll.service"/><context:component-scan base-package="com.ll.dao"/></beans>
[/code]
5. 控制器AjaxController.javapackage com.ll.web;import java.util.ArrayList;import java.util.List;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import com.ll.model.Person;@Controller@RequestMapping(value = "/test")public class AjaxController {/*** 返回主页* @return*/@RequestMapping(value = "/index.action")public String index() {return "index";}/*** 方式1:* 使用@ResponseBody方式返回json数据* @param username* @param passwd* @return*/@ResponseBody@RequestMapping(value = "/testMVC1.action")public Person testAjax(String username,String passwd) {System.out.println("ajax-使用@ResponseBody方式返回json数据==>" + username + "(" + passwd + ")");return new Person(username,passwd);}/*** 方式2:* 使用MappingJacksonJsonView和bean视图解析器返回json数据* @param mm* @param username* @param passwd* @return*/@RequestMapping(value = "/testMVC2.action")public String getFusionChartsData(ModelMap mm,String username,String passwd) {System.out.println("ajax-使用MappingJacksonJsonView和bean视图解析器返回json数据==>" + username + "(" + passwd + ")");Person p1 = new Person(username+"_1",passwd+"_*1");Person p2 = new Person(username+"_2",passwd+"_*2");List<Person> userList = new ArrayList<Person>();userList.add(p1);userList.add(p2);mm.addAttribute("userList", userList);mm.addAttribute("Info","测试spring MVC");return "testMVC";}}
[/code]
6. 运行浏览器:http://localhost:8080/SpringMVC_Ajax_Json/test/index.action#
来自为知笔记(Wiz)
相关文章推荐
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
- php学习笔记(三十)ajax请求和接收参数的实现方式(包括json数据格式的简单处理)
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
- 【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1
- 【Spring学习笔记-MVC-4】SpringMVC返回Json数据-方式2
- 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展
- 【Spring学习笔记-MVC-18.1】Spring MVC实现RESTful风格-同一资源,多种展现:xml-json-html
- 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
- spring MVC之返回JSON数据(Spring3.0 MVC+Jackson+AJAX)
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
- struts2学习笔记--使用struts2插件实现ajax处理(返回json数据)
- spring mvc ajax 请求返回json数据
- 学习笔记--Ajax:JSON格式返回数据
- 【Struts2学习笔记-8】Struts2实现json数据的返回
- SpringMVC Ajax返回的请求json 的方式来解决在中国字符串乱码问题
- 通过ajax异步向后端发送请求,响应请求向前端传送json格式数据的实现思路
- SpringMVC环境下实现的Ajax异步请求(JSON格式数据) 推荐
- SpringMVC环境下实现的Ajax异步请求JSON格式数据