`

springmvc异步ajax请求

 
阅读更多

spring使用了jackson类库,帮助我们在java对象和jsonxml数据之间的互相转换。他可以将控制器返回的对象直接转换成json数据,供客户端使用。客户端也可以传送json数据到服务器进行直接转换。

第一步,导入spring jar(commons-logging-1.0.4.jarjackson-core-asl-1.8.7.jarjackson-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

页面显示:

 

  • 大小: 13.8 KB
  • 大小: 814 Bytes
分享到:
评论

相关推荐

    springMVC使用Ajax请求数据

    在SpringMVC中,Ajax请求通常涉及到以下几个关键步骤: 1. **前端准备**: - 首先,你需要在HTML页面中引入jQuery库,因为它是广泛使用的JavaScript库,提供了方便的Ajax函数。 - 在HTML元素上添加事件监听器,...

    一个实用了spring mvc和ajax异步请求的例子

    前端JavaScript代码可以监听用户的事件(如点击按钮),然后发送Ajax请求到服务器,获取数据后动态更新页面。 下面是一个简单的Ajax请求示例,使用jQuery库: ```javascript $.ajax({ url: '/api/posts', // 调用...

    SpringMVC+Ajax异步上传图片并显示(源码)

    在本文中,我们将深入探讨如何使用SpringMVC和Ajax实现异步上传图片并实时显示的功能。这个技术组合常用于Web应用开发中,提供流畅的用户体验,避免页面刷新带来的不便。 首先,SpringMVC是Spring框架的一部分,专...

    SpringMVC+Ajax异步文件上传

    在本教程中,我们将探讨如何结合`SpringMVC`和`Ajax`来实现异步文件上传,并讨论短视频背景以及`a`标签绑定文件域的相关知识。 1. **SpringMVC中的文件上传** - **MultipartFile接口**:`SpringMVC`提供了一个名为...

    使用springmvc整合ajax请求demo代码示例

    本示例将深入探讨如何在Spring MVC项目中整合Ajax请求,以提供更流畅的用户体验。 首先,让我们理解Ajax的核心概念。Ajax(Asynchronous JavaScript and XML)允许网页在不刷新整个页面的情况下与服务器交换数据并...

    spring_mvc_ajax.zip_SpringMVC ajax_SpringMVC+ajax_spring ajax_sp

    2. **定义SpringMVC Controller**:在服务器端,创建一个SpringMVC的Controller类,定义一个处理Ajax请求的方法。这个方法通常会带有`@RequestMapping`注解,指明该方法将处理特定的URL请求。 3. **数据交换格式**...

    后台界面实时获取用户输入内容,springMVC+Ajax实现(源码)

    2. **SpringMVC配置**:在SpringMVC的配置文件中,定义一个处理Ajax请求的Controller方法,通常会使用`@RequestMapping`注解来指定URL路径。此方法应接收前端发送的参数,并进行相应的业务处理。 3. **处理业务逻辑...

    SpringMVC+ajax jar

    Ajax的核心在于使用JavaScript异步地从服务器获取数据,更新页面的部分内容,而无需刷新整个页面。这提供了更好的用户体验,因为用户可以在等待响应时继续使用其他功能。在SpringMVC中,可以使用Ajax来实现无刷新的...

    SpringMVC使用Ajax异步提交请求完成登录-附件资源

    SpringMVC使用Ajax异步提交请求完成登录-附件资源

    springMVC jQuery ajax交互

    例如,用户在前端进行某些操作,如点击按钮或填写表单,jQuery可以监听这些事件并发起Ajax请求。使用$.ajax()方法,我们可以设置URL(指向SpringMVC的Controller方法),类型(GET或POST),数据(发送给服务器的...

    Jackson相关jar包,springMVC的Ajax请求,JSON

    在这种情况下,Jackson库被用作处理JSON和Spring MVC中的Ajax请求。 Jackson是Java领域中最流行的JSON库之一,由 FasterXML 维护。标题中提到的三个jar包分别是Jackson框架的不同组成部分: 1. `jackson-...

    SpringMVC利用Ajax,JQuery交互Json

    当Ajax请求成功时,`success`回调函数会被调用,参数`data`即为服务器返回的Json对象。你可以根据需要解析并操作这个数据,如更新DOM元素。 5. **错误处理** 如果请求过程中发生错误,`error`回调会被调用,提供...

    springMVC对ajax支持jar包

    总结一下,SpringMVC通过集成Jackson库,提供了对Ajax请求的高效支持,使得开发者能够方便地处理JSON数据,实现页面的异步更新。在实际项目中,结合前端JavaScript库如jQuery或Vue.js,可以构建出高度交互的Web应用...

    springmvc+ajax上传例子

    你需要一个表单来选择文件,以及一个按钮触发Ajax请求。使用`FormData`对象来封装文件数据,以便通过Ajax发送。 ```html 上传 ``` ```javascript document.getElementById('uploadButton').addEventListener...

    springmvc的ajax配置,实现

    创建一个Spring MVC Controller,定义一个处理Ajax请求的方法。使用`@ResponseBody`注解,告诉Spring MVC返回的数据应该是JSON格式: ```java @RestController public class AjaxController { @...

    springMVC+ajax+json

    在Ajax请求中,通常JSON被用作数据传输格式,因为它可以直接被JavaScript解析为对象,无需额外的序列化和反序列化过程。 **Spring MVC、Ajax和JSON的结合** 在Spring MVC中,Controller可以返回JSON格式的数据响应...

    springmvc+ajax异步上传 希望代码对大家有用

    在本文中,我们将深入探讨如何使用Spring MVC与Ajax实现异步文件上传,这是一项常见的Web开发任务,可以显著提升用户体验。我们将关注以下关键知识点: 1. **Spring MVC**:Spring MVC是Spring框架的一个模块,用于...

    SpringmvcAjax

    1. **Ajax请求的创建**:在JavaScript中,我们可以使用XMLHttpRequest对象或者更现代的fetch API来发起Ajax请求。例如,使用jQuery库,我们可以编写如下代码: ```javascript $.ajax({ type: 'POST', url: '/...

Global site tag (gtag.js) - Google Analytics