导入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前后台交互的更多相关文章

  1. 关于springmvc与ajax的交互-开发记录

    每次都栽在这个地方,好衰! 在jsp页面的<form>标签设置了action="请求url" ,button那里用js进行监听,点击触发ajax方法,将前台数据传到后台 ...

  2. SpringMVC与Ajax交互

    1 springmvc和ajax的交互 1.1  请求字符串响应json 客户端发送的数据:key=value&key1=value1 响应回来:json 1.1.1json的支持jar包 1 ...

  3. SpringMVC和AJAX交互

    在实际开发中我们经常需要前后台交互,那么springmvc与ajax之间交互这里记录下在实际开发中遇到的细节问题. jsp页面: <fieldset id="login" s ...

  4. springMvc 使用ajax上传文件,返回获取的文件数据 附Struts2文件上传

    总结一下 springMvc使用ajax文件上传 首先说明一下,以下代码所解决的问题 :前端通过input file 标签获取文件,通过ajax与后端交互,后端获取文件,读取excel文件内容,返回e ...

  5. SpringMVC——对Ajax的处理(包含 JSON 类型)

    一.首先要搞明白的一些事情. 1.从客户端来看,需要搞明白: (1)要发送什么样格式的 JSON 数据才能被服务器端的 SpringMVC 很便捷的处理,怎么才能让我们写更少的代码,如何做好 JSON ...

  6. JAVA配置&注解方式搭建简单的SpringMVC前后台交互系统

    前面两篇文章介绍了 基于XML方式搭建SpringMVC前后台交互系统的方法,博文链接如下: http://www.cnblogs.com/hunterCecil/p/8252060.html htt ...

  7. Ajax json交互和SpringMVC中@RequestBody

    Ajax json交互和SpringMVC中@RequestBody 标签: 背景 自己提供出去得接口中参数设置为@RequestBody VipPromotionLog vipPromotionLo ...

  8. SpringMVC实现AJax以及RestFull风格

    RestFull风格就是url路径中不能出现?不能带参数,如https://www.baidu.com/user/item/1234这个格式,也叫url资源定位 1.需要在web.xml中开启put, ...

  9. Springmvc中ajax与jason应用

    Springmvc中ajax与jason应用 相关依赖包 json数据转换的jar包 jackson-annotations-2.5.4 jackson-core-2.5.4 jackson-data ...

随机推荐

  1. OpenJudge计算概论-细菌的战争

    /*====================================================================== 细菌的战争 总时间限制: 1000ms 内存限制: 6 ...

  2. jquery事件切换hover/toggle

    1.hover([over,]out) 一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法.这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态. 当鼠标移动到一个匹配的 ...

  3. Centos7下配置Tomcat7以指定(非root)身份运行

    通常情况下,在配置Tomcat生产环境时,通常会配置Tomcat以特定的身份运行(非root),这样有利于提高安全性,防止网站被黑后的进一步权限提升. 本文依赖的环境: Ubuntu(其实大部分同样适 ...

  4. 服务器返回的各种HTTP状态码介绍

    [摘要]HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码.它由 RFC 2616 规范定义的,并得到RFC 2518.RFC 2817.RFC 22 ...

  5. 使用匿名委托,Lambda简化多线程代码

    使用匿名委托,Lambda简化多线程代码   .net中的线程也接触不少了.在多线程中最常见的应用莫过于有一个耗时的操作需要放到线程中去操作,而在这个线程中我们需要更新UI,这个时候就要创建一个委托了 ...

  6. centos curl版本nss改成openssl

    在centos 6.2的系统里面的curl支持的https是nss版本的,而不是openssl的,所以在php使用curl访问https的时候会报Unable to load client key - ...

  7. 多线程要点--CLR C#学习笔记

    1.windows永远不会调度一个进程,只调度线程. 2.线程和操作系统的关系:CLR(X)--AppDomain--线程池(包含工作者线程和I/O线程) 3.线程的关键组成部分 A.线程执行上下文 ...

  8. Windows2012 cannot access netapp CIFS share

    NAS1> options cifs.smb2.signing.requiredcifs.smb2.signing.required off NAS1> options cifs.smb2 ...

  9. 编译在arm板上使用的sqlite3的静动态库

    采用的是sqlite-autoconf-3080002.tar.gz 解压 tar xvf sqlite-autoconf-3080002.tar.gz 进入 cd sqlite-autoconf-3 ...

  10. datagridview 不显示行号的问题

    环境:C#,Winform 场景: 窗体上有两个tab页A.B,每个tab页上都有一个DatagridView.窗体加载后,显示tab A选项卡.序号正常显示,但点击B选项卡后,DatagridVie ...