Ajax与SpringMvc交互

SpringMVC与Ajax交互需要的三个包 jackson-annotations-2.9.6.jar,jackson-core-2.9.6.jar,jackson-databind-2.9.6.jar 立即下载

ajax是一种比较常用的页面技术,以其良好的交互效果已经被广泛应用,为了方便的使用ajax,市面上也出现的不少的ajax框架如dwr。为此springmvc借鉴了dwr的思想,可以使用ajax和springmvc交互,同时提供了java对象转换成json的机制。还是先一睹为快吧

1 如果需要springmvc进行java对象和json的转换需要增加如下配置

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="cacheSeconds" value="0" />
		<property name="messageConverters">
			<list>
				<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
			</list>
		</property>
</bean>

如果json数据不需要springmvc进行转换messageConverters的配置可以忽略


2  在控制器中的方法加上注解@ResponseBody,此时该方法就可以通过ajax直接访问了

package com.sxt.action;

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

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 com.sxt.po.User;

@Controller
@RequestMapping("myajax.do")
public class MyAjaxController {
	
	@RequestMapping(params="method=test1",method=RequestMethod.GET)
	public @ResponseBody List<User> test1(String uname) throws Exception{ 
		String uname2 = new String(uname.getBytes("iso8859-1"),"UTF-8");
		System.out.println(uname2); 
		System.out.println("MyAjaxController.test1()");
		List<User> list = new ArrayList<User>();
		list.add(new User("潘玮柏","123"));
		list.add(new User("蔡依林","456"));
		
		return list;
	}
	
}

3 使用ajax请求springmvc并取得返回值

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
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>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<script>
		function createAjaxObj(){
			var req;
			if(window.XMLHttpRequest){
				req = new XMLHttpRequest();
			}else{
				req = new ActiveXObject("Msxml2.XMLHTTP");  //ie
			}
			return req;
		}
		
		function sendAjaxReq(){
			var req = createAjaxObj();
			req.open("get","myajax.do?method=test1&a="+Math.random());
			req.setRequestHeader("accept","application/json"); 
			req.onreadystatechange  = function(){
				alert(req.responseText);
				//eval("var result="+req.responseText);
				//document.getElementById("div1").innerHTML=result[0].uname;
			}
			req.send(null);
		}
	</script>
  </head>
  
  <body>
    <a href="javascript:void(0);" onclick="sendAjaxReq();">测试</a>
    <div id="div1"></div>
  </body>
</html>


最后来看看运行效果:

是不是也特别简单呢,其中最要注意的是使用这种方式需要jackson的支持,因此下面的这两个jar包不能少

这次先到这里,下次分享的是springmvc的拦截器。

Spring MVC前端与后端5种ajax交互方法【总结】 前端ajax与后端Spring MVC控制器有以下五种数据交互方式。(前台使用了dhtmlxGrid,后端使用了fastjson) 方式一 通过URL传参 通过URL挂接参数,如/auth/getUser?userid=’6′ 服务器端方法可编写为:getUser(String userid),也可新增其他参数如HttpSession, HttpServletRequest,HttpServletResponse,Mode,ModelAndView等。 方式二 单值传参 前台调用如: ajaxPost("/base/user/exchangeSort",{"id":rid,"otherid" 立即下载

相关推荐

BBR算法原理与实现深度解析

BBR算法通过重新定义拥塞控制的基本范式,为现代网络应用提供了突破性的解决方案。随着QUIC协议的普及和智能网卡技术的发展,BBR类算法将在边缘计算、云游戏、工业物联网等领域发挥更重要的作用。

程序猿老樊的博客 2418

利用ajax与springmvc交互,Springmvc和ajax实现前后端交互的方法

Springmvc和ajax实现前后端交互的方法发布时间:2020-07-28 15:36:16来源:亿速云阅读:75作者:小猪这篇文章主要讲解了Springmvc和ajax实现前后端交互的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。springmvc使用@RequestBody来获取前端的json字符串并转化为java对象使用@ReponseBody来将返回的...

weixin_39787089的博客 909

别再死记公式了!用TL072运放设计带通滤波器,调出干净正弦波的实战心得与误区盘点

本文分享了使用TL072运放设计带通滤波器的实战经验,重点解决波形失真问题,提供单电源供电优化、动态调谐技巧及仿真与现实的参数修正方法,帮助工程师调出纯净正弦波。内容涵盖模拟电路设计中的常见误区与解决方案,适合电子工程师和爱好者参考。

weixin_29172963的博客 404

SpringMVC与ajax交互流程与实现

先上Controller和ajax的代码 Controller代码://@RequestMapping("")指的是路由根路径 @Controller @RequestMapping("") public class UserAction { private UserService userService; @Autowired public void setTransacti

灵魂画师牧码 4323

大数据面试题(附答案,持续更新...)

说说对hadoop的理解,都有哪些组件,分别是干什么的 还了解大数据其他组件嘛? kafka在什么地方需要用到zookeeper 了解HBase吗? 说下spark中的transform和action 为什么spark要把操作分为transform和action spark中有了RDD,为什么还要有Dataframe和DataSet? 了解函数式编程吗?说下c/c++和scala这种函数式编程语...

xiaozhaoshigedasb的博客 9947

U2Net网络实战:从原理到代码实现(附背景去除应用)

本文深入解析了U2Net网络的原理与代码实现,重点剖析了其独特的嵌套U型结构(RSU模块)和显著图融合机制。通过实战演示,指导读者如何加载预训练模型并应用于精准的图像背景去除任务,为电商、摄影等领域提供高效的自动化抠图解决方案。

nn3456的博客 491

SpringMVC与Ajax的交互详解

SpringMVC与Ajax的交互 一、ajax的实现 ajax异步请求 javaScript and xml 异步请求 1、同步请求和异步请求 1、异步请求 特点:请求响应回来页面不动 只刷新页面局部 2、同步请求 特点:响应回来全部刷新(地址栏,超链接,表单 js的location.href="") 3、通过Ajax发送的请求都是异步请求 多请求之间并行处理 请求之间不会相互影响 2、Ajax实现异步请求 Ajax发送请求 通过js的异步请求对象发送请求 xhr XMLHttpRequest js实现

程序员小王的博客 5468

AUTOSAR E2E Protocol实战:Profile1到Profile5的配置差异与最佳实践

本文深入解析AUTOSAR E2E Protocol中Profile1到Profile5的核心配置差异与适用场景。针对经典CAN、CAN FD及以太网等不同总线,详细对比了计数器、CRC、DataID等关键参数,并结合实战代码与配置示例,为工程师根据功能安全等级、数据长度与带宽限制选择最佳Profile提供了清晰的选型路径与工程实践指南。

milk5的博客 940

SpringMVC AJAX使用

SpringMVC AJAX使用 之前在分析 SMBMS 项目的时候稍微了解过其中的 AJAX 的作用和用法,现在学习了 SpringMVC,就要在 SpringMVC 中使用一下 AJAX。本节创建 SpringMCV-08-AJAX 项目学习 AJAX 的使用。 1. 回顾AJAX AJAX( Asynchronous Javascript And XML,即异步 JavaScript 和 XML )是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 AJAX 不是新的编程语言,而是用于创建

qq_43560701的博客 799

Allegro 中复制一部分PCB到另一个PCB中去

引言:自从学了allegro后,我每天快乐地再拉线,一开心肯定出事情。不料今天一高兴,把本来在5层的铜皮直接在4层画起来了。不过,幸好我知道换层,才省了又要画铜皮的时间。好了,开干,如果要将其他层的铜皮换到想要换到的层上,就需要这个命令。

tianpu2320959696的博客 968

【OS】AUTOSAR架构下MCAL Modules软件分区问题分析

AUTOSAR架构下MCAL Modules软件分区问题分析

qq_36056498的博客 939

$.ajax()方法详解

$.ajax()方法详解 jquery中的ajax方法参数总是记不住,这里记录一下。 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。 2.type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方...

440

第十二段:基于env的重用

现代芯片的验证通常分为两个层次, 一是模块级别( block level, 也称为IP级别、 unit级别) 验证, 二是芯片级别( 也称为SOC级别) 验证。 一个大的芯片在开发时, 是分成多个小的模块来开发的。 每个模块开发一套独立的验证环境, 通常每个模块有 一个专门的验证人员负责。 当在模块级别验证完成后, 需要做整个系统的验证。 假设某个系统分成了三个模块,如下图: 这三个模块在模块级别验证时, 分别有自己的driver和s...

年糕的博客 421

Ajax与SpringMVC交互详解

Ajax的使用是很经常的,最近在写自己的博客系统的时候也用到了,在这总结一下用法,有完整例子 本文章统一用index.jsp页面 <div id="info"></div> <form action="add" method="post" id="form"> 姓名:<input type="text" name="username" /> 年龄:

I大俊 2928

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Ajax页面与SpringMVC中Controller的交互过程

2019/05/23 20:11 Ajax页面交互 这里页面交互主要针对我们常用的页面JavaScript文件至SpringMVC中的Controller(页面控制器)内的交互过程, 主要讲Ajax针对Http协议的请求响应模型来进行页面交互的简单性讲解。 一、程序环境 前端技术:HTML、JavaScript、jQuery、Ajax 后端技术:SpringMVC 二、技术实现的资料文档 1、...

Mr_Fei的博客 2488

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

springmvc与Ajax交互

转自;https://www.cnblogs.com/xiaoxi/p/5708084.html springmvc与Ajax交互 Jsp页面: 需要引入jquery-1.10.2.min.js、json2.js、jquery.json-2.3.js三个文件 复制代码 <%@ page contentType="text/html; charset=utf-8" language="java" errorPage=""%> <%@ taglib prefix="c" uri="ht

ceopen1的博客 307

springmvc与ajax交互

在实际开发中我们经常需要前后台交互,那么springmvc与ajax之间交互这里记录下在实际开发中遇到的细节问题。 jsp页面: 用户登录 账号: 密码: ajax请求如下: $(function() { $("#submit1").click(function() { var json = { 'usern

Asan 2万+

SpringMVC-10-(springMVC和ajax的交互)

10【掌握】springMVC和ajax的交互 1.响应普通字符串到页面 测试 说明 @RequestMapping(value=“loadString”,produces=“text/html;charset=utf-8”) |–produces 设置响应文本的编码和页面的解析方式 @ResponseBody |–以字符串的形式响应数据到页面 不是转发 2.响应普通字符串到页面验证用户名是...

张子又 378

java spring mvc ajax_springmvc与Ajax交互

Jsp页面:需要引入jquery-1.10.2.min.js、json2.js、jquery.json-2.3.js三个文件errorPage=""%>springmvc与Ajax交互用户信息姓名:*性别:请选择selected = "selected">${sexItem.text}*年龄:*邮箱:*电话:size="25" value="${...

weixin_39720662的博客 332

SpringMVC之ajax异步交互

SpringMVC之ajax异步交互 Springmvc默认用MappingJackson2HttpMessageConverter对json数据进行转换,需要加入jackson的包;同时使用 <mvc:annotation-driven /> @RequestBody 该注解用于Controller的方法的形参声明,当使用ajax提交并指定contentType为json形式时,通过HttpMessageConverter接口转换为对应的POJO对象。 <dependency>

weixin_49741990的博客 215

SpringMVC与Ajax交互

1 springmvc和ajax的交互 1.1  请求字符串响应json 客户端发送的数据:key=value&amp;key1=value1 响应回来:json 1.1.1json的支持jar包   1.1.2建立Handler处理器 1 package org.guangsoft.controller; 2 3 import java.util.ArrayList...

weixin_33817333的博客 165

Ajax异步请求和SpringMvc的参数交互

在项目很早阶段,其实是没有所谓异步请求,全部基于form表单方式进行数据的提交和处理。或者查询数据也是通过模板渲染的方式进行替换返回的。所以我们在学习javaweb阶段就一定要学习:jsp 其实jsp本身就是一个模板引擎机制。通过EL表达式和标签从而将java内存中的数据提取替换,最终通过reponse流输出。

weixin_58423755的博客 730

AJAX请求与SpringMVC Controller交互

一、AJAX介绍 使用ajax发送请求传递数据最常见的就是使用以下两种数据格式进行传递 一种是form方式传递数据(默认的):contentType: "application/x-www-form-urlencoded" 一种是JSON方式传递数据:contentType: "application/json;charset=UTF-8" 二、使用 application/x-...

fox_bert的博客 867
上一篇: SpringMVC使用进阶-文件上传
下一篇: SpringMVC使用拦截器
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值