spring mvc 入门系列之五--结合Jackson和jquery实现的Ajax
来源:互联网 发布:什么是关键词优化 编辑:程序博客网 时间:2024/05/21 11:23
除了在导入jackson的jar包时犯了些错误外,基本还是比较简单的,所以就直接写流程了。
项目结构:
一、获取所需要的jackson的jar包,本项目没有结合maven,前段时间刚刚学习了maven,正好复习一下。借助了另一个使用了maven的项目,在其pom.xml中添加依赖:
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.7.0</version></dependency><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.7.0</version></dependency><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.7.0</version></dependency>
更新此项目的依赖后,到maven本地库中找到下载好的3个jar备用。
当然,也可以直接下载, 需要注意的是下载地址已经更新了,网上找到的很多都是旧版的,浪费了我不少时间。新的下载地址为:http://mvnrepository.com/artifact/com.fasterxml.jackson.core
根据自己的需要找到相应的版本就行了。本实验使用的是2.70版,就是看用的人还不少所以选用的。
二、创建项目 springmvc-ajax,复制之前的入门例子springmvc002中的web.xml和myspring-servlet.xml到本项目的WEB-INF目录下。
myspring-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:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"><!-- springmvc 注解驱动 --><mvc:annotation-driven /><!-- 扫描器 --><context:component-scan base-package="com.sunny" /><!-- 配置视图解析器 --><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass"value="org.springframework.web.servlet.view.JstlView" /><property name="prefix" value="/pages/" /><property name="suffix" value=".jsp" /></bean></beans>
三、导入之前下载的3个jackson jar文件,并导入 spring mvc的jar包。
四、在WebRoot目录下创建js目录,并复制一个jQuery.js 到此目录下。
五、在WebRoot的pages目录下创建页面文件 user_list.jsp,内容如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%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 'user_list.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"> <script src="js/jquery-1.11.0.min.js"></script><script>$().ready(function(){$('#btnDetail').click(function(){var userId=$('#userId').val();$.post("userDetail.do",{userId:userId},function(data){alert(data.userId+" "+data.username+" "+data.age);},'json');});});</script> </head> <body> <input type="text" id="userId" name="userId" /> <input type="button" value="详情" id="btnDetail"/> </body></html>
当点击此页面上的详情按钮时,将以ajax方式访问userDetail.do,这个将指向一个Controller,所以下面写一个Controller.
六、编写控制器类UserController以及 实体类 Userinfo
代码:
package com.sunny.Controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import com.sunny.po.Userinfo;@Controllerpublic class UserController {@RequestMapping("/userDetail.do")public @ResponseBody Userinfo getDetail(Integer userId){return new Userinfo(userId,"小鱼儿",20);}}
注意上面这个Controller类,在方法返回值前加上了注解 @ResponseBody ,这个指明Userinfo对象将作为响应内容返回。
据别人的说法,spring 3.1之后,只要在项目 中添加了jackson的jar包后,就已经可以直接使用了,并不需要在配置文件myspring-servlet.xml 中进行配置。这个经过测试确实如此,本实验使用的spring 是4.25版的。
Userinfo类的代码略,该类有3个属性:
public class Userinfo implements Serializable{private static final long serialVersionUID = -4105734707188223151L;private int userId;private String username;private Integer age;
最后进行测试,项目发布后,在浏览器中访问:
点击按钮后:
测试成功!
- spring mvc 入门系列之五--结合Jackson和jquery实现的Ajax
- Spring MVC 结合jQuery实现AJAX
- spring mvc番外篇(五):spring mvc结合ajax,json技术的应用
- spring mvc 结合jackson返回的日期格式问题
- JQuery的AJAX与Spring MVC实现异步文件上传
- spring+springmvc+myBatis+jquery+ajax+jackson的增删改查
- Spring mvc之返回jackson和异常处理
- JQuery Ajax 结合.net MVC框架实现页面局部刷新
- spring MVC之返回JSON数据(Spring3.0 MVC+Jackson+AJAX)
- jQuery中JSONP结合Spring MVC实现跨域请求
- Spring MVC结合jQuery实现跨域请求
- jquery结合Spring MVC实现从后台读取数据的输入框提示
- mvc和spring的结合使用
- spring和activemq的结合(五)
- Spring mvc系列五之 数据填充与返回
- Spring mvc系列五之 数据填充与返回
- Spring MVC系列(五)之自定义数据绑定---HandlerMethodArgumentResolver
- jQuery中Ajax+Spring MVC实现跨域请求
- onDraw画圆环
- Linux SD卡驱动开发(六) —— SD卡启动过程总体分析
- HTML 常用标记及其属性
- Java设计模式之单例
- leetcode——Spiral Matrix
- spring mvc 入门系列之五--结合Jackson和jquery实现的Ajax
- ajax技术
- <Android学习笔记7>——Android基本控件的使用
- iOS面试题
- 路由器和交换的本质区别解析
- spring boot 加快springmvc开发
- CocoaPods 基础知识--------安装 及 使用第三方库
- iOS 开发第三方库全集
- 使用原生HTML5上传文件