Spring MVC ajax:post/get 的具体实现
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 的具体实现的更多相关文章
- spring mvc ajax 提交复杂数组类型
The server refused this request because the request entity is in a format not supported by the reque ...
- spring mvc ajax异步文件的上传和普通文件上传
表单提交方式文件上传和ajax异步文件上传 一:首先是我在spring mvc下的表单提交方式上传 ssm的包配置我就不一一详细列出来了,但是上传的包我还是列出来 这一段我也不知道怎么给大家讲解就是直 ...
- Spring MVC+ajax进行信息验证
本文是一个ajax结合Spring MVC使用的入门,首先我们来了解一下什么是Ajax AJAX 不是新的编程语言,而是一种使用现有标准的新方法.AJAX 最大的优点是在不重新加载整个页面的情况下,可 ...
- spring mvc ajax请求
jar包中增加 jackson-annotations-2.5.0.jar jackson-core-2.5.0.jar jackson-databind-2.5.0.jar springmvx.xm ...
- spring mvc ajax 400解决
The request sent by the client was syntactically incorrect. ajax发起请求时报400错误.请求代码如下: var reportId=($( ...
- spring mvc ajax返回值乱码
加入如下配置: <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHan ...
- spring mvc+ajax分页
分页大致思路:页面每次把当前页传到后台并获得从后台传过来的json数据,解析后布局到这个页面上. 1.服务端代码: @Controller public class MemcachedContrlle ...
- spring mvc ajax
<%@ page contentType="text/html;charset=UTF-8" %> <%@ include file="/WEB-INF ...
- Spring MVC Ajax 嵌套表单数据的提交
概述 在一些场景里,某个大表单里常常嵌套着一个或若干个小逻辑块,比如以下表单里"设计预审"中包括了一个子模块表单"拟定款项". 在这种情况下该怎么去设计实体类以 ...
随机推荐
- svg学习之旅(1)
Canvas 与 SVG 的比较 下表列出了 canvas 与 SVG 之间的一些不同之处. Canvas 依赖分辨率 不支持事件处理器 弱的文本渲染能力 能够以 .png 或 .jpg 格式保存结果 ...
- EF操作扩展之async
EF的操作类网上很多类,我只是把我在平时项目中的类进行一些改进和扩展,扩展了部分同步和异步的EF操作 接口 /// <summary> /// 接口数据操作基础类 /// </sum ...
- 细说Asp.Net WebAPI消息处理管道
我们在开发完Asp.Net WebAPI程序后,可以使用WebHost寄宿方式或者SelfHost寄宿方式来部署Asp.Net WebAPI.所谓WebHost寄宿就是通过Asp.Net来实现:所谓S ...
- C语言陷阱:浮点运算
在Stack overflow上看到这样一个问题. 计算如下表达式的值: P=(1/2-3/4)*(5/6-7/8)*…*[n/(n-1) - (n+2)/(n+3)]. 程序如下: #include ...
- HR从业者的下一个十年该怎么做?
众所周知,目前我们所处的以互联网为代表的新经济时代,有两个重要的特征一是客户价值至上,二是人力资本主权.围绕这两个基本特征,我们需要重新架构我们的商业模式和创新人力资源管理思维.模式.工具和方法. 人 ...
- JLOI2015 解题报告
JLOI2015 真的不愧是NOI出题组出的,题目难度够吊.不过每一道都是结论题和乱搞题真的很不好玩... T1:[JLOI2015]有意义的字符串 首先贴下popoqqq的blog吧 感性的认识就是 ...
- JavaScript 毒瘤和糟粕(需要注意的地方)
简介 我想这是在我总结JavaScript系列中最为需要注意的,最为重要的内容.你必须要去了解这些问题特性,才能准备好应对措施,这真的很重要. 毒瘤 全局变量 全局变量的存在的确是带来了方便,但是我觉 ...
- MySQL账户管理
body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...
- 每天一个linux命令31)--chown命令
chown将 指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID,组可以使组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷 ...
- KEEP!
[list][*]别问我前端有没有前途,我不知道,我只知道我现在喜欢前端,以后也应该喜欢.[*]别问我前端的工作好不好找,不管哪一职位,工作好不好找都是看你的水平.[*]别问我前端累不累,这世界就没有 ...