Spring MVC与jQuery结合使用Ajax技术
- gradle配置
group 'org.zln.webDemo'
version '1.0-SNAPSHOT' apply plugin: 'java'
apply plugin: 'jetty' sourceCompatibility = 1.8 repositories {
mavenCentral()
} dependencies {
......
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.1'
..... }
注意:jackson-databind 是必须的,否则无法将返回转换成JSON格式
- web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
......
<!--③ 配置Spring MVC地址映射-->
<servlet>
<servlet-name>webDemo</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springServlet/applicationContext-*-servlet.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webDemo</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>webDemo</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>webDemo</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>webDemo</servlet-name>
<url-pattern>*.json</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list> </web-app>
注意:配置了json也作为请求的后缀,专门用于json来传递数据的Ajax请求
- 前台界面
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%
String homePage = request.getContextPath();
%>
<!DOCTYPE HTML>
<html>
<head>
<title>Title</title>
<script type="text/javascript" src="<%=homePage%>/jsLib/jquery-3.1.0.min.js"></script>
<meta charset="UTF-8"/>
<script type="text/javascript">
$(function(){
$("#bt1").click(function(){
$.getJSON(
"<%=homePage%>/module/ajaxGetTime.json"
,{key:"参数123"}
,function(data){
var $timeDiv = $("#time");
$timeDiv.html(data.nowTime);
}
)
})
})
</script>
</head>
<body>
ajax测试首页<br/>
<input type="button" id="bt1" value="获取当前时间"/><br/>
<div id="time"></div>
</body>
</html>
注意:请求后缀一定要是json啊(否则又要去配置其他东西了,麻烦)
这里使用了getJSON函数,其他函数如 $.post也行
- 控制层
@RequestMapping(value = "/ajaxGetTime.json")
@ResponseBody
public Map<String,String> ajaxGetTime(HttpServletRequest request){
logger.info("获取参数:"+request.getParameter("key"));
Map<String,String> map = new HashMap<>();
String timeStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
map.put("nowTime",timeStr);
logger.info("准备传递给前台的数据:"+map);
return map;
}
- Spring MVC 的配置
<?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:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
<!--这个包下的,所有加过特殊注解的类,都被Spring管理-->
<context:component-scan base-package="org" resource-pattern="**/*Controller.class"/>
<mvc:annotation-driven/>
<!--静态资源-->
<!--<mvc:resources mapping="/css/**" location="/WEB-INF/css/"/>-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:viewClass="org.springframework.web.servlet.view.JstlView"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp"/>
</beans>
Spring MVC与jQuery结合使用Ajax技术的更多相关文章
- spring mvc 与 jquery ajax
在 Spring mvc3中,响应.接受 JSON都十分方便. 使用注解@ResponseBody可以将结果(一个包含字符串和JavaBean的Map),转换成JSON. 使用 @RequestBod ...
- 比较JSF、Spring MVC、Stripes、Struts 2、Tapestry、Wicket
2009-06-23 Java Web层框架--JSF.Spring MVC.Stripes.Struts 2.Tapestry和Wicket他们各自的优点和缺点: JSF 优点: ◆Java EE标 ...
- 初学者对Spring MVC的认识
首先是要一定说明的是,这倒是说明是什么?对吧Spring MVC 是SpringFrameWork的后续产品,并且已经融入到Spring Web Flow中同时Spring MVC 分离了控制器,模型 ...
- 前端ajax技术之跨域问题解决
这里我使用jquery框架的ajax技术 <script type="text/javascript" src="Assets/js/jquery.min.js&q ...
- spring mvc实现Restful返回xml格式数据
最近,想在自己的小项目中搭建一个Restful风格的服务接口api,项目用的spring mvc 3,听说spring mvc本身就能十分方便的支持restful的实现,于是查询了下资料,果然非常强大 ...
- Spring MVC Controller与jquery ajax请求处理json
在用 spring mvc 写应用的时候发现jquery传递的[json数组对象]参数后台接收不到,多订单的处理,ajax请求: "}]}]} $.ajax({ url : url, typ ...
- spring mvc实现ajax 分页
使用到的技术: ·spring 3 mvc ·json ·jquery ·java ·mysql 首先,要了解如何在spring mvc中使用json. 以下主要从Dao和View及Controlle ...
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
作者:ssslinppp 时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MV ...
- Ajax+Spring MVC实现跨域请求(JSONP)JSONP 跨域
JSONP原理及实现 接下来,来实际模拟一个跨域请求的解决方案.后端为Spring MVC架构的,前端则通过Ajax进行跨域访问. 1.首先客户端需要注册一个callback(服务端通过该callba ...
随机推荐
- IOS Prefix.pch程序常见文件 的作用
#import <Availability.h> #ifndef __IPHONE_5_0 #warning "This project uses features only a ...
- Codeforces Round #327 (Div. 2) C Median Smoothing(找规律)
分析: 三个01组合只有八种情况: 000 s001 s010 0011 s100 s101 1110 s111 s 可以看出只有010,101是不稳定的.其他都是稳定的,且连续地出现了1或0,标记为 ...
- hdu-3549 Flow Problem---最大流模板题(dinic算法模板)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3549 题目大意: 给有向图,求1-n的最大流 解题思路: 直接套模板,注意有重边 传送门:网络流入门 ...
- 删除临时文件的bat文件
@echo offecho 正在清除系统垃圾文件,请稍等......del /f /s /q %systemdrive%\*.tmpdel /f /s /q %systemdrive%\*._mpde ...
- CentOS替换系统自带JDK
1.解压jdk安装包到/opt 下 /opt/jdk1.8.0_181 2.编辑/etc/profile, 增加如下内容 export JAVA_HOME=/opt/jdk1.8.0_181expor ...
- CUDA && GPU中dim3介绍
- shiro学习记录(一)
1 权限概述 认证:系统提供的用于识别用户身份的功能,通常登录功能就是认证功能-----让系统知道你是谁?? 授权:系统授予用户可以访问哪些功能的许可(证书)----让系统知道你能做什么?? 2 常见 ...
- 魅族MX3 Flyme3.0找回手机功能支持远程拍照密码错两次自动拍照
进入Flyme页面(http://app.meizu.com/),选择“查找手机”即可进行查找自己登记的魅族系列手机. 如果您在一个账号下登记过N多魅族系列手机,那么都是可以进行查找的,参见下图 魅族 ...
- 1045: [HAOI2008] 糖果传递
Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4897 Solved: 2457[Submit][Status][Discuss] Descript ...
- C/C++ 程序基础 (一)基本语法
域操作符: C++ 支持通过域操作符访问全局变量,C不支持(识别为重定义) ++i和i++的效率分析: 内置类型,无区别 自定义数据类型,++i可以返回引用,i++只能返回对象值(拷贝开销) 浮点数与 ...