让我苦苦寻找的那段代码---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 ...
随机推荐
- Post Complex JavaScript Objects to ASP.NET MVC Controllers
http://www.nickriggs.com/posts/post-complex-javascript-objects-to-asp-net-mvc-controllers/ Post ...
- asp.net中Cookie的用法【转】
比如建立一个名为aspcn,值为灌水小鱼的cookie HttpCookie cookie = new HttpCookie["aspcn"];cookie.Value = &qu ...
- Advancing The Realtime Web With RethinkDB
RethinkDB is an open-source distributed database built to store JSON and scale with very little effo ...
- asp.net MVC ViewData详解
转自:http://www.cnblogs.com/gaopin/archive/2012/11/13/2767515.html 控制器向视图中传值ViewData详解 1.将一个字符串传值到视图中 ...
- 如何进行oracle capability i/o(压力测试数据库服务器i/o性能)
一 .oracle 有关 IO 信息的相关统计函数 Oracle i/o stack包含hbas,存储相关的交换机.存储物理磁盘.那么oracle建议在应用程序部署的时候,建议去验证i/o避免存在问题 ...
- 查看SQL执行计划
一用户进入某界面慢得要死,查看SQL执行计划如下(具体SQL语句就不完全公布了,截断的如下): call count cpu elapsed disk ...
- js跨域--服务器端设置
首先低版本浏览器是不支持的,我从网上搜的是[IE8.Firefox 3.5 及其以后的版本.Chrome浏览器.Safari 4 等已经实现了] 下面主要是针对服务器端设置Access-Control ...
- VBA 按照文件类型名称打开一个文件
Application.GetOpenFilename(fileFilter, fileIndex, fileSelectTitle, button, False) fileFilter: 指定能够被 ...
- JABX简单介绍
主要引至http://suo.iteye.com/blog/1233458 一.简介 1.概念是什么:(Java Architecture for XML Binding) 是一个业界的标准,是一项可 ...
- 【jmeter】搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.Jmeter:http://jme ...