动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

Spring MVC中使用Ajax

08-21 21:10 93浏览
举报 T字号
  • 大字
  • 中字
  • 小字

Ajax(异步 JavaScript 和 XML)作为一种创建交互式、快速动态网页应用的网页开发技术,在Spring MVC框架中备受青睐。Spring MVC作为提供了构建 Web 应用程序的全功能 MVC 模块,前端开发中经常会用到Ajax网页开发技术。本文就为小伙们们介绍一下在Spring MVC中使用Ajax

一般情况下,Spring MVC中使用Ajax有两种方法,第一种是根据servlet API来使用ajax,第二种是根据Spring MVC给我们提供的API来使用。

一、根据servletAPI

Spring MVC配置文件如下:

<!-- 配置handerAdapter  适配器 -->

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

   

    <!-- spring容器扫描指定包下的所有类,如果类上有注解  那么根据注解产生相应bean对象已经映射信息 -->

    <context:component-scan base-package="cn.sxt.controller"/>

具体controller如下:

@RequestMapping("/ajax.do")

    public void ajax(HttpServletRequest req,HttpServletResponse resp) throws IOException{

        resp.getWriter().print("ajax data");

    }

第一种方法非常简单,这种使用ajax的方式只能携带比较简单的字符串,如果要携带复杂对象,就需要自己转换为json格式,比较麻烦。

二、根据springMVC提供的API

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"

    xsi:schemaLocation="

        http://www.springframework.org/schema/beans

        http://www.springframework.org/schema/beans/spring-beans.xsd

        http://www.springframework.org/schema/context

        http://www.springframework.org/schema/context/spring-context.xsd">

 

<!-- json配置 -->

    <!-- 用于将对象转换为 JSON -->

    <bean id="stringConverter"

        class="org.springframework.http.converter.StringHttpMessageConverter">

        <property name="supportedMediaTypes">

            <list>

                <value>text/plain;charset=UTF-8</value>

            </list>

        </property>

    </bean>

    <bean id="jsonConverter"

        class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>

    <bean

        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

        <property name="messageConverters">

            <list>

                <ref bean="stringConverter" />

                <ref bean="jsonConverter" />

            </list>

        </property>

    </bean>

    <!-- spring容器扫描指定包下的所有类,如果类上有注解 那么根据注解产生相应bean对象已经映射信息 -->

    <context:component-scan base-package="com.mxf.controller" />

</beans>

配置文件中原来的注解适配器可以去掉,因为ajax的格式转换的配置是在注解适配器中,故不需要原来的单纯的注解适配器,如果再加上原来的适配器,会出现报错的情况。

具体controller如下:

package com.mxf.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.ResponseBody;

 

import com.mxf.domain.User;

 

@Controller

public class AjaxController {

 

    @RequestMapping("aj.do")

    @ResponseBody

    public List list(){

        List list = new ArrayList();

        list.add(new User(1,"alex",22));

        list.add(new User(2,"jane",25));

        list.add(new User(3,"mike",26));

        list.add(new User(4,"jake",28));

        return list;

    }

}

我们在controller中需要注意的是:方法上必须加@ResponseBody,如果不加该注解标签,则Spring MVC会报404错误。

Spring MVC中使用Ajax是一个大胆的尝试,毫不夸张的说Ajax的使用对Spring MVC来说无疑是如虎添翼,本身Spring MVC框架作为前端WEB开发的利器,而Ajax可以使网页实现异步更新,两者的结合堪称完美。幸运的是,本站的Spring MVC视频教程Ajax视频教程同时上线,我们可以同时在线学习这两门热门技术,无论是求职还是加薪都是必备好技术!

0人推荐
共同学习,写下你的评论
0条评论
红業
程序员红業

15篇文章贡献46120字

作者相关文章更多>

推荐相关文章更多>

DOM渲染的详细过程

QCode09-04 14:38

CSS水平和垂直居中技巧大梳理

Code大师09-04 14:50

mui的input框在IOS系统下无法聚焦或点击多次才能聚焦

不写代码你养我啊08-23 11:14

推荐的-视.频播放器以及在线客服

不写代码你养我啊09-17 18:02

谈谈java多线程的三大特性

要学习了06-18 18:13

发评论

举报

0/150

取消