SpringMVC(三)

JSON数据交互

Json概述

       Json是一种轻量级的数据交换格式。它是基于javaScript的一个子集,使用了C、C++、java、C#、Python、JavaScript等其他语言的约定,采用完全独立于编程语言的文本格式来存储和表示数据。这些特性使json成为理想的数据交互语言。

Json在线解析网址:

       https://www.json.cn/

       实例:

       {

              "name":"赵云",

              "hobby":["篮球","足球","棒球"]

}

       解析结果:

       {

           "name":"赵云",

           "hobby":[

               "篮球",

               "足球",

               "棒球"

           ]

}

      

       Json数据转换

       为了实现浏览器与控制器类(Controller)之间的数据交互,Spring提供了一个HttpMessageConverter<T>接口来完成此项工作。该接口主要用于将请求信息中的数据转换为一个类型为T的对象,并将类型为T的对象绑定到请求方法的参数中,或者将对象转换为响应信息传递给浏览器显示

       提供了开源jar包:

       uploading.4e448015.gif转存失败重新上传取消uploading.4e448015.gif转存失败重新上传取消

       相关注解:

       @RequestBody:用于将请求体中的数据绑定到方法的形参中。

       @ResponseBody:用于直接返回return对象。该注解用在方法上。

      

       实例代码:

       uploading.4e448015.gif转存失败重新上传取消uploading.4e448015.gif转存失败重新上传取消

编写配置文件:

              uploading.4e448015.gif转存失败重新上传取消uploading.4e448015.gif转存失败重新上传取消

编写Controller代码:

uploading.4e448015.gif转存失败重新上传取消uploading.4e448015.gif转存失败重新上传取消

在前端jsp中引入js

uploading.4e448015.gif转存失败重新上传取消uploading.4e448015.gif转存失败重新上传取消

编写ajax代码

uploading.4e448015.gif转存失败重新上传取消uploading.4e448015.gif转存失败重新上传取消

编写form表单

uploading.4e448015.gif转存失败重新上传取消uploading.4e448015.gif转存失败重新上传取消

 

注意:

       在ajax中三个重要的属性:

       data:即请求时携带的数据,当使用JSON格式时,要注意编写规范

       contentType:当请求数据为JSON格式时,值必须为“application/json”

       datatype:当响应数据为JSON时,可以定义dataType属性,并且值必须为json,其中dataType:”json”可以省略不写,页面会自动识别响应的数据格式

Restful支持

Restful可以将它理解为一个软件架构设计风格

实例代码:

       uploading.4e448015.gif转存失败重新上传取消uploading.4e448015.gif转存失败重新上传取消

uploading.4e448015.gif转存失败重新上传取消uploading.4e448015.gif转存失败重新上传取消

 

 

拦截器

       概述:SpringMVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并做响应的处理,例如通过拦截器可以进行权限验证、记录请求信息的日志、判断用户是否登录等。

       实例代码:

       // 定义一个拦截器

public class CustomerInterceptor implements HandlerInterceptor{

 

       /*

        *   该方法会在整个请求完成,即视图渲染结束之后执行,可以通过此方法实现一些资源清理、记录日志信息等工作。   

        *

        */

       @Override

       public void afterCompletion(HttpServletRequest arg0,

                     HttpServletResponse arg1, Object arg2, Exception arg3)

                     throws Exception {

              // TODO Auto-generated method stub

             

       }

 

       /*

        *    该方法会在控制器方法调用之后,且解析视图之前执行。可以通过此方法对请求域中的模型和视图做进一步修改。

        *

        */

       @Override

       public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,

                     Object arg2, ModelAndView arg3) throws Exception {

              // TODO Auto-generated method stub

             

       }

 

       /*

        *    该方法会在控制器方法前执行,其返回值表示是否中断后续操作。当其返回值为true时,表示继续向下执行;当其返回值为false时,会中断后续

        *    所有操作。

        */

       @Override

       public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,

                     Object arg2) throws Exception {

              // TODO Auto-generated method stub

              return false;

       }

      

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值