spring使用了jackson类库,帮助我们在java对象和json、xml数据之间的互相转换。他可以将控制器返回的对象直接转换成json数据,供客户端使用。客户端也可以传送json数据到服务器进行直接转换。
第一步,导入spring jar包(commons-logging-1.0.4.jar、jackson-core-asl-1.8.7.jar和jackson-mapper-asl-1.8.7.jar)
第二步,项目配置文件web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
第三步,springMVC配置文件springmvc-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:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd" > <!-- 对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --> <context:component-scan base-package="com.test.controller" /> <mvc:annotation-driven/> <!--对模型视图名称的解析,即在模型视图名称添加前后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans>
第四步,实体类Employee.java
package com.test.model; public class Employee { private int id; private String name; public Employee(int id, String name) { super(); this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
第五步,控制器AjaxController.java
package com.test.controller; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.test.model.Employee; @Controller public class AjaxController { //@ResponseBody此注解用于处理ajax请求,返回值可以是任何值,spring会自动转换为json对象 @RequestMapping(value = "/ajax", method = RequestMethod.GET) public @ResponseBody List<Employee> testAjax() throws Exception { List<Employee> list = new ArrayList<Employee>(); list.add(new Employee(1, "赵四")); list.add(new Employee(2, "王五")); return list;//注意返回此时值可以不再是一般的String } }
前台页面/ajax.jsp
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <title>测试ajax</title> <script type="text/javascript"> function createAjaxObject(){ var request; if(window.XMLHttpRequest){ request = new XMLHttpRequest(); }else{ request = new ActiveXObject("Msxml2.XMLHTTP");//ie } return request; } function sendAjaxRequest(){ var request = createAjaxObject(); request.open("get", "ajax"); //必须加上此头,spring才知道发出的是ajax请求 request.setRequestHeader("accept", "application/json"); request.onreadystatechange = function(){ eval("var result = "+request.responseText);//eval函数 document.getElementById("div").innerHTML = result[0].id + " " + result[0].name; }; request.send(null); } </script> </head> <body> <a href="javascript:void(0)" onclick="sendAjaxRequest()">测试Ajax</a> <div id="div"></div> </body> </html>
浏览器输入:
http://127.0.0.1:9900/springmvc_008_ajax/ajax.jsp
页面显示:
相关推荐
一个实用了spring mvc和ajax异步请求的例子
SpringMVC使用Ajax异步提交请求完成登录-附件资源
springmvc jquery ajax json 异步传递数据 springmvc异步传递请求 已包含全部源代码实现 把jar包放入 然后新建文件 配置xml !!!!! 全部资源
Ajax实现异步请求+基于SpringMVC
主要介绍了SpringMVC环境下实现的Ajax异步请求JSON格式数据的相关资料,需要的朋友可以参考下
Springmvc_注解方式+批量增加数据库+ajax异步请求【图解】.png
Ajax:异步请求处理,页面局部刷新 SpringMVC:接收请求,转发处理(前段控制) SpringIOC:组件解耦(采用注入) MyBatis:数据库访问(实现DAO) 3.======资费管理====== 作用:资费主要是服务的收费标准进行维护...
Ajax:异步请求响应处理;页面局部刷新 (所有请求一律采用Ajax方式交互) jQuery:简化js和Ajax编程,实现前端处理 SpringMVC:实现控制层,用于接收请求分发 给业务模型处理,并实现请求响应 SpringIOC:实现管理控制层,...
spring mvc基于注解的简单小例子 里面有拦截器, 国际化 ajax异步请求 二维码生成 解析 多文件上传功能 但都是写在一个controller 里面 自己在jsp页面改一下请求方法名就可以 有所需要的所有jar包 下载可直接使用
同时,为了保证数据的实时更新,项目采用了Ajax技术进行异步数据请求,通过定时任务或事件触发方式实现数据的自动刷新渲染。 后端部分,项目采用了SSM框架来搭建RESTful API,通过MyBatis对数据库进行操作,实现数据...
该项目主要实现教材的管理,主要为登录、教材信息录入、教材信息查询、教材信息打印、管理员管理用户等功能,整体使用SSM框架,用ajax进行用户的异步请求,controller层使用注解处理前端的请求,以及调用service层的...
此处为的异步请求的配置: Java代码 async: { enable: true, url: basePath + '/sysMenu/listSysMenu', autoParam: [id=parentId] } SpringMvc中文字符处理: Java代码 <bean class=org.spring...
本项目基于Springboot框架构建,使用SpringMvc和Mybatis框架进行相应的开发,数据库采用mysql,前端页面采用html实现,基于Jquery+AJAX异步请求处理,主要实现前端用户预定机票,订单查询等功能,后台管理用户实现...
系统前台与后台的交互全部使用 Ajax 异步请求 06. 自定义 SecureValid 注解实现权限的控制 07. 通过自定义 ExcludeLog 注解来实现对日志的记录进行排除 08. Spring mvc 返回数据格式采用统一的对象(JSONReturn...
这是一个基于员工部门的bootstrap+ssm+maven整合的demo 1.mybatis逆向工程(MBG)自动生成代码 2.Maven+Spring+SpringMVC+MyBatis整合 3.bootstrap搭建前台页面,ajax异步请求,result风格
根据学的spring、springMVC写的一个网上书城小项目,实现了一些基本的功能,如登录、账户余额充值、分页、购买、加入购物车、清空购物车、删除购物车的某商品,以上都是使用ajax异步请求获取后端接口数据,进行页面...
疫情数据定时同步更新于丁香、腾讯和天行数据API,项目...模板引擎采用themeleaf渲染页面,使用ajax技术做到异步刷新;后台采用Mybatis框架作对象关系映射;项目使用到的其他框架如Spring,SpringMVC,Springboot等。