Post 方式

1、自动注入

  a. pom.xml ---- 配置Maven,添加必要的jar包

 <!--用于 String-JSONObject 转换 -->
<dependency>
<groupId>org.json</groupId>
<artifactId>org.json</artifactId>
<version>chargebee-1.0</version>
</dependency> <!--用于 SpringMVC 注入 -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.8</version>
<type>jar</type>
<scope>compile</scope>
</dependency>

  b.application-servlet.xml 创建 AnnotationMethodHandlerAdapter

 <!-- 方式1 -->
<mvc:annotation-driven />
<!-- 方式2 -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <!-- 两种方式等价的,mvc:annotation-driven 会自动注册方式2中的连个bean -->

  c.前端jsp页面 ---- Jquery的ajax

 <!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
$(function() {
function ajaxtest(){
var seaText = $("#search").attr("value");
var data={};
data.serachdata = seaText;
var url = "${pageContext.request.contextPath}/search1"
$.ajax({
url : url,
type : 'post',
dataType : 'json',
data:JSON.stringify(data),
contentType : "application/json; charset=utf-8",
success:function(result){
console.log(result);
}
}
);
}
$("#search").on("keyup", ajaxtest);
}//end ready
</head>
</script>
<body>
<div>
<input id="search" type="text" name="search">
<input id="btn1"type="submit" value="Search">
</div>
</body>
</html>

  d.Controller 代码

  SpringMVC 根据@RequestMapping将前端的ajax请求映射到search 的controller,AnnotationMethodHandlerAdapter会把request中的json对象,采用合适方式自动转换成Map对象  ★★★★★

 @RequestMapping(value = "search",method = RequestMethod.POST)
@ResponseBody public String search(@RequestBody HashMap<String, String> hasmap)throws Exception{
List<String> resultList = testMapper.searchByKeyWords(hasmap.get("serachdata")+"%");
return new org.json.JSONArray(resultList).toString();
}

2. 通过HttpServletRequest request来接收json

  这种方式是比较常见的这里,我这给出Controller的代码:

 @RequestMapping(value = "search",method = RequestMethod.GET)
@ResponseBody public String search(HttpServletRequest request ,HttpServletResponse response)throws Exception{
org.json.JSONObject jsonob = new JSONObject(request.getParameter("jsonobj"));
List<String> resultList = testMapper.searchByKeyWords("a%");
return new org.json.JSONArray(resultList).toString();
}

Get 方式

  由于get是通过URI传递参数的,所以没有办法使用自动注入,只能通过request来接收参数,Controller与post方式的类似。

第一篇博文啊!希望大家多多指点....

Spring MVC ajax:post/get 的具体实现的更多相关文章

  1. spring mvc ajax 提交复杂数组类型

    The server refused this request because the request entity is in a format not supported by the reque ...

  2. spring mvc ajax异步文件的上传和普通文件上传

    表单提交方式文件上传和ajax异步文件上传 一:首先是我在spring mvc下的表单提交方式上传 ssm的包配置我就不一一详细列出来了,但是上传的包我还是列出来 这一段我也不知道怎么给大家讲解就是直 ...

  3. Spring MVC+ajax进行信息验证

    本文是一个ajax结合Spring MVC使用的入门,首先我们来了解一下什么是Ajax AJAX 不是新的编程语言,而是一种使用现有标准的新方法.AJAX 最大的优点是在不重新加载整个页面的情况下,可 ...

  4. spring mvc ajax请求

    jar包中增加 jackson-annotations-2.5.0.jar jackson-core-2.5.0.jar jackson-databind-2.5.0.jar springmvx.xm ...

  5. spring mvc ajax 400解决

    The request sent by the client was syntactically incorrect. ajax发起请求时报400错误.请求代码如下: var reportId=($( ...

  6. spring mvc ajax返回值乱码

    加入如下配置: <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHan ...

  7. spring mvc+ajax分页

    分页大致思路:页面每次把当前页传到后台并获得从后台传过来的json数据,解析后布局到这个页面上. 1.服务端代码: @Controller public class MemcachedContrlle ...

  8. spring mvc ajax

    <%@ page contentType="text/html;charset=UTF-8" %> <%@ include file="/WEB-INF ...

  9. Spring MVC Ajax 嵌套表单数据的提交

    概述 在一些场景里,某个大表单里常常嵌套着一个或若干个小逻辑块,比如以下表单里"设计预审"中包括了一个子模块表单"拟定款项". 在这种情况下该怎么去设计实体类以 ...

随机推荐

  1. link js重构心得

    过年前后一段时间,对link库的代码进行的大量的重构,代码精简了许多,性能也得到了很大的改善,写此文记录期间所做的改进和重构,希望对看到此文的js程序员有所帮助. 1. 代码构建 最初代码使用gulp ...

  2. git文件夹下项目更改ip地址小结

    在我们开发的过程中,经常切换项目IP地址是很正常的,之前弄过一次,没有记住,现在简单的总结下: 找到要切换IP地址的项目,点击鼠标右键,弹出下图: 打开该项目的路径后,双击打开该项目,具体参考自己项目 ...

  3. HR从业者的下一个十年该怎么做?

    众所周知,目前我们所处的以互联网为代表的新经济时代,有两个重要的特征一是客户价值至上,二是人力资本主权.围绕这两个基本特征,我们需要重新架构我们的商业模式和创新人力资源管理思维.模式.工具和方法. 人 ...

  4. Java编程规范(二)

    二.格式规范 在上一篇的java编程规范(一)中我们讲述了在Java编码中的一般原则,虽然这些原则并不涉及具体的代码规范,但是这些原则却是我们在Java开发过程中所应该遵循的规范与思想.今天我们将学习 ...

  5. Myeclipse 搭建Java Web 项目:Servlet 《二》

    上一节,我们使用myeclipse部署了web项目,但那部署的为静态的web项目,下面我们来学习编写动态的web项目,编写动态项目必须要用到的为:servlet. Servlet是由sun公司命名的, ...

  6. 继续学习ant

    今天由于打电话,打了两个小时的电话,结果一下子错过了学习的时间段,表示很惭愧,不过查了一些资料,感觉还不错,明天继续学习吧! ant入门到精通Ant 的最完整build.xml解释ant实用实例Ant ...

  7. MJRefresh在UITableView中的使用

    前言 MJRefresh是一个好用的上下拉刷新的控件,github地址如下:https://github.com/CoderMJLee/MJRefresh 很多app都使用这个控件,我们也来了解一下它 ...

  8. Java和C++的对比

    事实上, Java 本来就是从 C++衍生出来的. C++和 Java 之间仍存在一些显著的差异.可以这样说,这些差异代表着技术的极大进步.一旦我们弄清楚了这些差异,就会理解为什么说 Java 是一种 ...

  9. 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题

    一.问题分析 对于后台系统,相比大家都有所印象,知道其中的布局结构,如图: 在这种布局中我们需要将header,sidebar,footer分开,而且对于中间部分的content内容需要动态变化,即根 ...

  10. 程序点滴001_Python模拟点阵数字

    尝试过很多编程语言,写过不少程序(当然,基本上都是些自娱自乐或给自己用的工具类的小玩意儿),逐渐认识到编写程序是一个不断完善.不断优化的过程——编程首先要有一个想法(目标),围绕这个目标形成最基本的功 ...