在上Springmvc-JSON数据交换的时候,老师提出了两个问题:

1、JSON数据交互两个注解的作用?

2、静态资源访问的几种配置方式,并简述?

老师刚提出这两个问题的时候我一头雾水的。JSON数据交互的两个注解是什么呢?静态资源访问的配置方式是哪几种呢?。于是各种翻书,各种百度。于是,终于得出了一份答案,如下:

(有什么问题,请在下方留言喔!我们互相讨论~)

一、请简述JSON数据交互两个注解的作用

答:JSON数据交互有两个注解:
       1、@RequestBody:这个注解是接受数据的,用户将请求体中的数据绑定到方法的形参中。该注解用在方法的形参上
       2、@ResponseBody:这个注解是响应数据的,用于直接返回return对象。该注解用在方法上。

二、请简述静态资源访问的几种配置方式

答:(在springmvc-config.xml配置)一共有三种方式:
       1、使用<mvc:resources location="/**/" mapping="/js/**"/>
          ①:location:用于定位需要访问的本地静态资源文件路径,具体到某个文件夹
          ②:mapping:匹配静态资源全路径,其中"/**"表示文件夹及子文件夹下的某个具体文件
       
       2、使用<mvc:default-servlet-handler>标签:在springmvc-config.xml配置后,会在springmvc上下文中定义一个Servlet请求处理器。它会像一个检察院,对进入DispatcherServlet的URL进行筛选。如果发现是静态资源的请求,就将该请求转由Web服务器默认的Servlet处理,默认的Servlet就会对这些静态资源方形。如果不是静态资源的请求,才由DispatcherServlet继续处理。
       
       3、激活Tomocat默认的Servlet来处理静态文件访问:激活Tomocat默认的Servlet时,需要在web.xml中添加以下内容。
          <servlet-mapping>
           <servlet-name>default</servlet-name>
           <url-pattern>*.js</url-pattern>
         </servlet-mapping>
          <servlet-mapping>
           <servlet-name>default</servlet-name>
           <url-pattern>*.css</url-pattern>
         </servlet-mapping>
           ...

总结:

·第一种和第三种配置方式可以选择性的释放静态资源。
       ·第二种配置方式配置相对简单,只需要一行代码,就可以释放所有静态资源。
       ·第二和第三种配置方式会导致项目移植性较差,需要根据具体的Web服务器来更改Servlet名称
       ·第三种配置方式运行效率更高,因为服务器启动时已经加载了web.xml中静态资源。

       在实际开发中,更经常使用第一种配置方式,这样就不必考虑服务器问题了。

SpringMVC-JSON数据交换的更多相关文章

  1. Js中JSON数据交换使用总结

    Json格式简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是JavaScript原 ...

  2. json 数据交换格式与java

    http://wiki.mbalib.com/wiki/数据交换 数据交换是指为了满足不同信息系统之间数据资源的共享需要,依据一定的原则,采取相应的技术,实现不同信息系统之间数据资源共享的过程. 数据 ...

  3. json数据交换

    1.1   为什么要进行json数据交互 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据. 1.2   s ...

  4. SpringMVC JSON数据交互

    本节内容: @RequestBody @ResponseBody 请求json,响应json实现 前端可以有很多语言来写,但是基本上后台都是java开发的,除了c++(开发周期长),PHP和#Net( ...

  5. iOS 中 JSON 数据交换格式

         JSON (JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 的详细教程,能够參见 JSON 中国:http://www.json.org.cn/ ...

  6. springmvc json 数据

    这里是controllor层 @RequestMapping("/traceupdatestatus") @ResponseBody public boolean traceupd ...

  7. Json数据交换一Gson

    Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,或者反过来. 添加依赖 <depe ...

  8. Json数据交换一Jackson

    依赖 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>ja ...

  9. 使用 C++ 处理 JSON 数据交换格式

    一.摘要 JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传 ...

  10. springmvc json数据

    的 @RequestMapping("/getAllEdu") @ResponseBody public void getAllEdu(HttpServletRequest req ...

随机推荐

  1. Codeforces 1213D Equalizing by Division

    cf题面 中文题意 给n个数,每次可以把其中一个数字位运算右移一位(即整除以二),问要至少操作几次才能让这n个数中有至少k个相等. 解题思路 这题还有个数据范围更小的简单版本,n和k是50,\(a_i ...

  2. Unity3D_(游戏)跳一跳超简单制作过程

    跳一跳 工程文件界面 游戏界面 脚本 using DG.Tweening; using System.Collections; using System.Collections.Generic; us ...

  3. RedisTemplate集合使用说明-opsForList(二)

    1.leftPush(K key, V value) 在变量左边添加元素值. Java代码   redisTemplate.opsForList().leftPush("list" ...

  4. MQTT消息中间件Mosquitto的安装和配置

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  5. LeetCode 96. 不同的二叉搜索树(Unique Binary Search Trees )

    题目描述 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 输出: 解释: 给定 n = , 一共有 种不同结构的二叉搜索树: \ / / / \ \ / / ...

  6. Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别

    谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能. ...

  7. b站编程课程资源汇总

    b站编程课程资源汇总 一.总结 一句话总结: b站的编程资源很多,而且很良心 二.编程课程资源汇总 b站看到的,分享给大家 https://www.bilibili.com/video/av50680 ...

  8. OpenCV学习笔记(10)——图像梯度

    学习图像梯度,图像边界等 梯度简单来说就是求导. OpenCV提供了三种不同的梯度滤波器,或者说高通滤波器:Sobel,Scharr和Lapacian.Sobel,Scharr其实就是求一阶或二阶导. ...

  9. KahnProcessNetwork的Python实现

    用Pytho实现了一个Kahn Process Network: 思路: 用Python的list模拟queue. 每个channel一个queue 用一个list (fgLog)来记录所有push到 ...

  10. docker(常见调试技巧):docker打包镜像调试技巧

    写Dockerfile可以先不指定CMD.ENTRYPOINT等启动命令,只要拷贝就好了 如下: # Dockerfile for basic-app-client # Build with: # d ...