让我苦苦寻找的那段代码---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 ...
随机推荐
- Open vSwitch
https://github.com/openvswitch/ovs/blob/master/INSTALL.RHEL.md
- mysql 查看最大连接数 设置最大连接数
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MY ...
- NFC会员管理-转载自http://technews.cn/2014/09/13/nfc-sticker/
基隆的百年名店“李鹄饼店”误用馊水油,客人纷纷上门退货,因退货条件宽松,客人一货两退,造成巨大的损失.为了平息客人的愤怒,店家允许客人凭发 票或商品办理退货,有的客人先用发票退一次钱,再用商品退一次钱 ...
- .NET和java的RSA互通,仅此而已
.NET和java的RSA互通,仅此而已 在开始这篇文章之前,先请读者朋友阅读老唐的这两篇文章: 1.Java与.Net环境下RSA加密解密交互不成功的问题解决 2.Java与.Net环境下RSA加密 ...
- 使用UpdatePanel 页面脚本不起作用
在后台中这样注册js方法 ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "", " ...
- 【宋红康学习日记1】关于环境变量设置出现的问题——找不到或无法加载主类 java
忙活了一整天,最后被自己的小愚蠢所拜倒,不过也是学习到了很多,知道了出现问题怎样去解决. 问题是在cmd运行环境中编译我的第一个小程序HelloWorld时,javac命令可以运行,但是java命令后 ...
- 【虚拟化】支持IDE/SATA/SCSI
驱动说明 IDE :IDE和SATA是最常用的两种磁盘格式,基本每个系统上都会有: SATA:同IDE: SCSI :系统上一般缺少此驱动,需要手动安装: Linux下的名称 IDE硬盘:hd[ ...
- linux下进程、端口号相互查看方法
linux下通过进程名查看其占用端口: 1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 例:通过nginx进程 ...
- linux内核模块相关命令:lsmod,depmod,modprobe,modinfo,insmod,rmmod 使用说明
加载内核驱动的通常流程: 1.先将.ko文件拷贝到/lib/module/`uname -r`(内核版本号)/kernel/driver/...目录下, 根据具体用途的区别分为net.ide.scsi ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(六):启动流程
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...