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 嵌套表单数据的提交
概述 在一些场景里,某个大表单里常常嵌套着一个或若干个小逻辑块,比如以下表单里"设计预审"中包括了一个子模块表单"拟定款项". 在这种情况下该怎么去设计实体类以 ...
随机推荐
- linux中的软连接和硬连接
1. 创建软连接的方法 ln -s /path/to/original /path/to/linkName 当我们对软连接文件进行修改后,对应的修改也会反映到原始的文件(反之亦然). 当我们删除软连接 ...
- 表单界面的兼容PC手机端解决方案
就当写一篇随笔吧~上星期还在做加盟模块(兼容微信端),这星期已经加班做快递扫码模块(react+node),所以我感觉只有弹药备足了才能稍微轻松些应对各种需求.实话说在同个部门的大佬面前差距确实大,如 ...
- ASP.NET 运行机制详解
1.浏览器和服务器的交互原理 通俗描述:我们平时通过浏览器来访问网站,其实就相当于你通过浏览器去访问一台电脑上访问文件一样,只不过浏览器的访问请求是由被访问的电脑上的一个 WEB服务器软件来接收处理, ...
- iOS 快速集成启动页广告
前言 由于项目中要用到启动页广告,所以做了简单的研究,同时借鉴网易新闻和蘑菇街的交互写了一个简单的demo,现在写出来供大家参考,可能由于个人局限会有一些bug和不完善的地方,也希望大家能够友善提醒和 ...
- 【CNMP系列】CentOS7.0下安装MySql5.6服务
接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务 MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MyS ...
- java springmvc +spring+ mybaits 模块化开发框架 HTML5+css3.0+bootstrap响应式开发界面
需要源码,请加QQ:858-048-581 系统模块 1. 权限管理:点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限 角色(基础权限): 分角色组和角色,独立分配菜单权限和增 ...
- Cloudera Manager安装_搭建CDH集群
2017年2月22日, 星期三 Cloudera Manager安装_搭建CDH集群 cpu 内存16G 内存12G 内存8G 默认单核单线 CDH1_node9 Server || Agent ...
- ThinkPHP项目总结
1.当你 require ThinkPHP之后,会自动在App目录下生成 common, Home, Runtime 三个文件夹. 2.输入网址 http://localhost/blog/app/i ...
- Java(基础)的类与变量
Java的类与成员变量 在我们学习编程语言中,需要灵活自用,那么怎么来灵活的将所有的函数属性来调用来实现完整的工程呢? 所以我们需要认识到类和变量的定义 1.类是什么? 类是抽象的概念,而对象就是类的 ...
- 3097: Hash Killer I
3097: Hash Killer I Time Limit: 5 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 425 Solved: 15 ...