让我苦苦寻找的那段代码---springmvc的ajax前后台交互
导入jar包:

web.xml
<servlet>
<servlet-name>spmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
在web.xml同级目录下建立spmvc-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"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<context:component-scan base-package="controller" />
<context:annotation-config />
<mvc:annotation-driven />
</beans>
实体类User.java
package Model;
public class User {
private int id;
private String username;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Action代码:
package controller; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.json.JSONException;
import org.json.JSONObject;
import org.springframework.stereotype.Controller;
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 Model.User; @Controller
@RequestMapping("/user")
public class DemoController {
@RequestMapping(value="/list",method=RequestMethod.GET)
@ResponseBody
public Map<String, Object> getUserList(){
List<User> list=new ArrayList<User>();
User user=new User();
user.setId(1);
user.setUsername("guoyansi");
user.setAge(25);
list.add(user);
Map<String, Object> map=new HashMap<String, Object>(3);
map.put("total", 1);
map.put("data", list);
map.put("success", "true");
return map;
} @RequestMapping(value="/add1",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> addUser1(@RequestBody User user){
/**
* 这种实体类参数的接受 只能接受ajax发送过来的json字符串
*/
Map<String, String> map=new HashMap<String, String>(1);
System.out.println(user.getUsername());
map.put("success", "true");
return map;
} @RequestMapping(value="/add2",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> addUser2(HttpServletRequest request){
String data=request.getParameter("data");
JSONObject json=null;
try {
json=new JSONObject(data);
System.out.println(json.getString("username"));
} catch (JSONException e) {
e.printStackTrace();
}
Map<String, String> map=new HashMap<String, String>(1);
map.put("success", "true");
return map;
} @RequestMapping(value="/add3",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> addUser3(HttpServletRequest request){
String username=request.getParameter("username");
System.out.println(username);
Map<String, String> map=new HashMap<String, String>(1);
map.put("success", "true");
return map;
}
}
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function(){
$.ajax({
type:"GET",
contentType:"application/json",
url:"user/list.do",
dataType:"json",
success:function(data){
//alert(data);
//data=eval("("+data+")");
if(data&&data.success=="true"){
$("#info").html("共"+data.total+"条数据.<br/>");
$.each(data.data,function(i,item){
$("#info").append("编号:"+item.id+",姓名:"+item.username+",年龄:"+item.age);
});
}
else{
alert("获取数据有异常");
}
},
error:function(){
alert("提交失败!!!!!");
}
}); $("#submit1").click(function(){
var data={};
data.id=Number($("input[name=id]").val());
data.username=$("input[name=username]").val();
data.age=Number($("input[name=age]").val());
$.ajax({
type:"POST",
data:JSON.stringify(data),
url:"user/add1.do",
contentType:"application/json",
dataType:"json",
success:function(data){
if(data&&data.success=="true"){
alert("添加成功!!!");
}
else{
alert("添加失败!!!");
}
},
error:function(){
alert("提交失败!!!!");
}
})
}); $("#submit2").click(function(){
var data={};
data.id=Number($("input[name=id]").val());
data.username=$("input[name=username]").val();
data.age=Number($("input[name=age]").val());
$.ajax({
type:"POST",
data:"data="+JSON.stringify(data),
url:"user/add2.do",
//contentType:"application/json",
dataType:"json",
success:function(data){
if(data&&data.success=="true"){
alert("添加成功!!!");
}
else{
alert("添加失败!!!");
}
},
error:function(){
alert("提交失败!!!!");
}
})
}); $("#submit3").click(function(){
var data="";
data+="id="+$("input[name=id]").val();
data+="&username="+$("input[name=username]").val();
data+="&age="+$("input[name=age]").val();
data+="&gg=tt=5";
$.ajax({
type:"POST",
data:data,
url:"user/add3.do",
//contentType:"application/json",
dataType:"json",
success:function(data){
if(data&&data.success=="true"){
alert("添加成功!!!");
}
else{
alert("添加失败!!!");
}
},
error:function(){
alert("提交失败!!!!");
}
})
}); })
</script>
</head> <body>
编号:<input type="text" name="id" />
姓名:<input type="text" name="username" />
年龄:<input type="text" name="age" />
<input type="button" value="发送json字符串,后台可以用实体类接受" id="submit1" />
<input type="button" value="发送含有=和json字符串数据到后台," id="submit2" />
<input type="button" value="发送普通数据到后台," id="submit3" />
<hr />
<div id="info"></div>
</body>
</html>

让我苦苦寻找的那段代码---springmvc的ajax前后台交互的更多相关文章
- 关于springmvc与ajax的交互-开发记录
每次都栽在这个地方,好衰! 在jsp页面的<form>标签设置了action="请求url" ,button那里用js进行监听,点击触发ajax方法,将前台数据传到后台 ...
- SpringMVC与Ajax交互
1 springmvc和ajax的交互 1.1 请求字符串响应json 客户端发送的数据:key=value&key1=value1 响应回来:json 1.1.1json的支持jar包 1 ...
- SpringMVC和AJAX交互
在实际开发中我们经常需要前后台交互,那么springmvc与ajax之间交互这里记录下在实际开发中遇到的细节问题. jsp页面: <fieldset id="login" s ...
- springMvc 使用ajax上传文件,返回获取的文件数据 附Struts2文件上传
总结一下 springMvc使用ajax文件上传 首先说明一下,以下代码所解决的问题 :前端通过input file 标签获取文件,通过ajax与后端交互,后端获取文件,读取excel文件内容,返回e ...
- SpringMVC——对Ajax的处理(包含 JSON 类型)
一.首先要搞明白的一些事情. 1.从客户端来看,需要搞明白: (1)要发送什么样格式的 JSON 数据才能被服务器端的 SpringMVC 很便捷的处理,怎么才能让我们写更少的代码,如何做好 JSON ...
- JAVA配置&注解方式搭建简单的SpringMVC前后台交互系统
前面两篇文章介绍了 基于XML方式搭建SpringMVC前后台交互系统的方法,博文链接如下: http://www.cnblogs.com/hunterCecil/p/8252060.html htt ...
- Ajax json交互和SpringMVC中@RequestBody
Ajax json交互和SpringMVC中@RequestBody 标签: 背景 自己提供出去得接口中参数设置为@RequestBody VipPromotionLog vipPromotionLo ...
- SpringMVC实现AJax以及RestFull风格
RestFull风格就是url路径中不能出现?不能带参数,如https://www.baidu.com/user/item/1234这个格式,也叫url资源定位 1.需要在web.xml中开启put, ...
- Springmvc中ajax与jason应用
Springmvc中ajax与jason应用 相关依赖包 json数据转换的jar包 jackson-annotations-2.5.4 jackson-core-2.5.4 jackson-data ...
随机推荐
- xenserver
Citrix XenServer is the complete server virtualization platform from Citrix. citrix xenserver是来自citr ...
- [Asp.net]说说密码框和只读框
作者:Wolfy出处:http://www.cnblogs.com/wolf-sun/ 引言 最近负责了一个公司的小项目,从前台到后代,都是自己搞的,为一个客户弄一个信息管理的小系统,虽然对界面什么的 ...
- 将m个苹果放入n个盘子的问题【转】
来自:http://blog.csdn.net/qq675927952/article/details/6312255 问题1: m----->相同, n---> 相同,可为空 将m个苹果 ...
- AngularJS 的安全Apply
$scope.safeApply = function(fn) { var phase = this.$root.$$phase; if (phase == ‘$apply‘ || p ...
- 【转】PHP error_reporting() 错误控制函数功能详解
定义和用法: error_reporting() 设置 PHP 的报错级别并返回当前级别. 函数语法: error_reporting(report_level) 如果参数 level 未指定 ...
- HTML5 CANVAS 高级
加载图片 获取图像有三种方式: a : createImageData(),没有效率,一个像素一个像素的绘制: b : var img= document.getElementById("i ...
- JABX简单介绍
主要引至http://suo.iteye.com/blog/1233458 一.简介 1.概念是什么:(Java Architecture for XML Binding) 是一个业界的标准,是一项可 ...
- 【python】浅谈for...else...语句
for循环可以和 else 子句同时使用(for...else).当迭代完for循环完整个列表失败后,会执行else语句.但循环中被 break 终止的情况下不会执行.如下例子所示: for i in ...
- js中的script标签
在页面中用script标签引入javascript文件(<script type="text/javascript" src="js文件地址">&l ...
- "unresolved external symbol __imp__WSACleanup@0"
编译时出现这种问题怎么解决:"unresolved external symbol __imp__WSACleanup@0"出现此类问题一般是ws2_32.lib这个lib没有li ...