- 自定义参数解析器HandlerMethodArgumentResolver,重新定义@ResponseBody的请求方式
chanyi
1、解决的问题加了@ResponseBody注解的方法,请求的方式是post的json格式,但如果我们也要通过post的application/x-www-form-urlencoded格式访问此接口。在不改变此接口的情况下。通过修改参数解析器HandlerMethodArgumentResovler来兼容两种请求方法。2、思路根据不同的content-type使用不同参数解析处理器。Conten
- 使用@RequestBodyAdvice处理客户端的加密请求体
SpringBoot中文社区
业务场景:客户端把json数据进行加密后,编码成Base64字符串,提交给服务器。服务器再进行解密。使用@RequestBodyAdvice,可以在不修改任何Controller代码的前提下,轻松完成。之前写过一篇帖子,使用@ResponseBodyAdvice统一对响应的数据进行处理。演示了,使用ResponseBodyAdvice统一对响应给客户的json进行AES加密。RequestBody
- springmvc重定向和返回json,如何同时实现?
bug菌¹
全栈Bug调优(实战版)#CSDN问答解惑(全栈版)json
本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!问题描述 springmvc重定向和返回json,同一个method既想可以重定向,又可以把字符串对象比如“helloworld”输出到页面!现在在方法上追加@ResponseBody标
- Java注解家族--`@ResponseBody`
@ResponseBody@ResponseBody是Spring框架中的一个注解,在基于Spring的Web开发中扮演着重要角色,以下是对它的详细总结:1.定义与基本功能定义:@ResponseBody注解用于将Controller方法的返回值,通过适当的HttpMessageConverter转换为指定格式后写入HTTP响应体中返回给客户端。它可以应用在方法上,也可以用在类上(当用在类上时,表
- Day17: Spring响应变形记:透视返回值处理的魔法工厂 —— 从POJO到JSON响应的高阶转换术
zhysunny
Springjavaspring
目录一、核心变形车间:HandlerMethodReturnValueHandler生态1.1变形车间流水线架构二、@ResponseBody的魔法解析流水线2.1JSON变形主设备解剖2.2实战调试技巧三、异步处理时空门:DeferredResult与CompletableFuture3.1DeferredResult时间魔法3.2CompletableFuture平行宇宙四、自定义变形设备:打
- Android网络层架构:统一错误处理的问题分析到解决方案与设计实现
wzj_what_why_how
Android#Android——架构和设计android架构
前言在Android项目开发中,我们经常遇到需要统一处理某些特定状态码的场景。本文分享一个项目中遇到的4406状态码(实名认证)处理不统一问题,从问题分析到完整解决方案,提供一套可复用的架构设计模式。目录前言问题分析不同框架的回调处理机制解决方案关键技术细节添加应用拦截器循环依赖问题与回调接口模式问题分析解决方案:回调接口模式ResponseBody流管理问题现象原因总结源码分析总结其设计原理重复
- JMeter InfluxDB v2 Listener Plugin 常见问题解决方案
柏滢凝Wayne
JMeterInfluxDBv2ListenerPlugin常见问题解决方案jmeter-influxdb2-listener-pluginInfluxDBv2.0listenerpluginforApacheJMeter.Providesthepossibilitytoseetheonlinedashboard(aggregationtable,errors,theresponsebodyoff
- 【问题记录】npm create vue@latest报错
菜鸟级后端
问题记录npmvue.js前端
1,错误日志npmerrorcodeEPERMnpmerrorsyscallmkdirnpmerrorpathD:\ProgramFiles\nodejs\node_cache\_cacachenpmerrorerrnoEPERMnpmerrorFetchError:Invalidresponsebodywhiletryingtofetchhttps://registry.npmjs.org/cr
- Spring Boot中Controller返回值处理方案
喜欢敲代码的程序员
SpringBootspringboot后端
目录一、前言二、四种常见的处理方案1.返回ResponseEntity对象2.使用@ResponseBody注解3.返回视图和模型(传统Web应用)4.使用统一响应格式封装(推荐)三、结语一、前言在SpringBoot开发中,Controller层返回值的处理方式直接影响API的响应结构和客户端交互效率。针对不同业务场景,合理选择返回值方案能够提升代码可维护性、统一响应格式或优化性能。本文将介绍S
- 【java】@RestController和@Controller的区别
CC大煊
java开发语言
文章目录1.引言常用Web开发注解@Controller与@RestController的定位2.@Controller详解2.1概念解析及使用场景2.2核心原理及底层实现2.3示例代码及必需的import展示2.4使用注意事项3.@RestController详解3.1概念解析及使用场景3.2相较@Controller的便捷性3.3内部原理及@ResponseBody的自动注入机制3.4示例代码
- 深入理解Spring的ResponseBodyAdvice接口
t梧桐树t
springjava后端
什么是ResponseBodyAdvice?ResponseBodyAdvice是Spring框架4.2版本引入的一个非常有用的接口,它允许我们在控制器方法执行后、响应体写入前对响应进行统一处理。这个接口为开发者提供了对返回数据进行统一拦截和修改的能力,是SpringMVC响应处理流程中的一个重要扩展点。核心方法解析ResponseBodyAdvice接口定义了两个核心方法:publicinter
- @ResponseBody详解
进击的编程浪人
spring
@ResponseBody是SpringFramework中的一种注解,用于表示返回的内容应该直接写入HTTP响应体,而不是通过视图解析器来渲染一个视图(如JSP页)。当你在控制器的方法上使用@ResponseBody时,Spring会将方法的返回值直接转换成响应的内容,通常是JSON、XML或其他格式的内容。1.基本用法当你在一个方法上使用@ResponseBody时,Spring会自动将返回的
- @RestController注解初步理解
少喝烫水
注解
转载自:https://www.cnblogs.com/yaqee/p/11256047.html一、在Spring中**@RestController的作用等同于@Controller+@ResponseBody**。所以想要理解@RestController注解就要先了解@Controller和@ResponseBody注解。@Controller注解在一个类上添加@Controller注解,
- spring-webmvc @ResponseBody 典型用法
张紫娃
注解springpythonwindows
典型用法基本用法:返回JSON数据@GetMapping("/users/{id}")@ResponseBodypublicUsergetUser(@PathVariableLongid){returnuserService.findById(id);}Spring自动使用Jackson(或其他HttpMessageConverter)将User对象序列化为JSON。响应头Content-Type
- Spring Boot 项目中Http 请求如何对响应体进行压缩
冰糖心书房
SpringBootspringboothttp后端
我们梳理一下SpringBoot项目中是如何对HTTP请求的响应体(ResponseBody)进行压缩。(请注意:压缩是针对服务器返回给客户端的响应体,而不是客户端发给服务器的请求URL或请求体)。核心思想:减少网络传输的数据量,加快客户端加载速度。结论:SpringBoot默认开启了对常见文本类型(如JSON,HTML,CSS,JS)的响应体压缩(Gzip),通常我们不需要做任何配置!只需要确保
- SpringSecurity登陆后,如何获取用户的登录信息
雾林小妖
java项目解决方案javasecurity获取登录信息
1、问题概述?SpringSecurity默认通过loadUserByUsername登录成功后,我们期望在项目中使用登录后的用户信息。2、在Controller中获取用户的登录信息。主要通过Authentication对象进行查询@RequestMapping("/checkRemoteDevice")@ResponseBodypublicvoidcheckRemoteDevice(Authen
- 一文快速学习HTTP协议知识:前端学习调试必须掌握
Microi风闲
【全栈】全栈开发http前端调试
文章目录前言一、HTTP协议基础1.1HTTP协议概述1.2HTTP工作流程二、HTTP请求详解2.1请求结构2.2请求方法(HTTPMethods)2.3请求头(RequestHeaders)2.4请求参数三、HTTP响应详解3.1响应结构3.2状态码(StatusCodes)3.3响应头(ResponseHeaders)3.4响应体(ResponseBody)四、HTTP高级特性4.1持久连接
- Spring Boot,注解,@RestController
翻滚吧键盘
springbootspringboot后端java
@RestController是SpringMVC中用于创建RESTfulWeb服务的核心注解。@RestController核心知识点REST作用:@RestController是一个方便的组合注解,它结合了@Controller和@ResponseBody两个注解。@Controller:将类标记为一个控制器,使其能够处理传入的Web请求。@ResponseBody:应用于类级别时,表示该控制
- springboot 序列化反序列化中,Date与Long类型转化问题
夸父CV
编程技巧与原理解析springspringbootjava开发语言后端微服务
一、responsebody序列化Date与Long为String方法1-配置ResponseBody中Date序列化在application.yml中增加如下配置:spring:jackson:time-zone:GMT+8date-format:yyyy-MM-ddHH:mm:ss注意:该方法只针对于springboot默认的jackson序列化才有效,并且该方法只能配置日期相关方法2-自定义
- Controller中参数解析详解
Psycho_MrZhang
springbootspring后端java
PathVariable从请求的URL获取参数并映射到方法参数中@Controller@RequestMapping("/user/{id}")publicclassSample35Controller{@AutowiredUserServiceuserService;@RequestMapping(patch="/{type}/get.json")@ResponseBodypublicUserg
- 剖析 Spring 中 @ResponseBody 原理与 Tomcat NIO 写事件(SelectionKey.OP_WRITE)的协作机制
蚰蜒螟
springtomcatnio
在SpringWeb开发领域,@ResponseBody是实现RESTful接口的核心注解之一,它能够将方法的返回值直接转化为HTTP响应体。而Tomcat作为Spring常用的Servlet容器,在处理网络IO时采用了NIO模型,借助SelectionKey.OP_WRITE事件实现非阻塞式的写操作。下面将结合Spring5和Tomcat源码,深入探究这两者的协同工作原理。一、@Response
- SpringBoot-5-Spring Boot进行Web开发并打包为jar或war
皮皮冰燃
SpringBootspringbootjarwar
- 【SpringBoot】开发常见注解
鹏阿鹏
SpringBootJavaSpringspringboot后端java
目录Controller@Controller@RestController@ResponseBody@GetMapping与@PostMapping@RequestMapping@RequestParam@PathVariable@RequestBody@ValidService@Service@Autowired@Resource@Scheduled@AsyncEntity@Data@Json
- 关于SpringBoot 使用中Restful风格的总结
chenxandy_123
javaspringboot
Restful风格(1)请求映射注解作用代码示例@RestController声明为Restful控制器,等价于@Controller+@ResponseBody@RestControllerpublicclassUserController{...}@RequestMapping通用请求映射(可指定路径、方法类型)@RequestMapping("/api")@GetMappingGET请求专用
- Spring 中的 @RestController 注解详解
Hello-ZHE
springjava后端
@RestController是SpringMVC中常用的注解,通常用于构建RESTfulWeb服务。它是@Controller和@ResponseBody的组合,简化了开发RESTful接口的流程。本文将详细介绍@RestController的使用场景、原理以及具体案例。1.@RestController的作用@RestController的主要作用是将类标记为一个RESTful控制器。类中的每
- springboot实现参请求参数和返回参数的加密解密(RequestBodyAdvice、ResponseBodyAdvice、HandlerMethodArgumentResolver)
madman1990
boot请求加密解密
前言在前后端分离系统的基础架构中,安全框架、令牌鉴权基本已经能保证数据的安全,但某些场景,仅有鉴权是不够的,一些比较重要的数据,还需要一个针对请求报文加密解密的工具,前端送加密报文,后端直接解密。实现细节参考链接码云上别人写的例子,具有参考意义。https://gitee.com/licoy/encrypt-body-spring-boot-starter?_from=gitee_search第一
- npm安装依赖超时,报错npm error code ECONNRESET
清晨細雨
npm前端node.js
npm安装依赖的时候报错超时,如下:npmerrorcodeECONNRESETnpmerrorsyscallreadnpmerrorerrnoECONNRESETnpmerrornetworkInvalidresponsebodywhiletryingtofetchhttps://registry.npmjs.org/element-plus:readECONNRESETnpmerrornetw
- Spring专题
喃寻1
springjava后端
一:SpringMVC常用注解@RequestMapping:用于映射请求路径。@RequestBody:json数据转java对象@ResponseBody:java对象转json@RestController:controller+ResponseBody@RequestParam:指定请求参数的名称(前后台参数名称不一样,或者设置参数默认值)@Resource@Autowired区别@Res
- SpringMVC 执行流程
Cloud_.
SpringMVCSpring
前言:在前后端分离的情况下,SpringMVC的执行流程主要集中在处理RESTful请求和返回JSON数据。这里的Controller会直接返回数据,而不是视图。我们通常会使用@RestController和@RequestMapping来处理请求,@ResponseBody会让返回的数据自动转换成JSON格式。下面是简化后的流程:一、SpringMVC执行流程概述请求到达DispatcherSe
- SpringBoot中的注解详解(一)
楠寻寻
SSM系列笔记springboot后端javaspring注解
一、@RestController、@RequestMapping1、@RestController注解@RestController注解是SpringMVC中的一个组合注解,用于标记一个类为控制器类。它实际上是@Controller和@ResponseBody注解的组合,表示该类中的所有方法都会返回JSON、XML等格式的数据,而不是视图页面。使用方式:在需要处理HTTP请求的类上添加@Rest
- Java常用排序算法/程序员必须掌握的8大排序算法
cugfy
java
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1
- 【Spark102】Spark存储模块BlockManager剖析
bit1129
manager
Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色
- linux 查看端口被占用情况详解
daizj
linux端口占用netstatlsof
经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080
COMMAND PID USER FD TY
- Hosts文件使用
周凡杨
hostslocahost
一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:
- java excel工具
g21121
Java excel
直接上代码,一看就懂,利用的是jxl:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import
- web报表工具finereport常用函数的用法总结(数组函数)
老A不折腾
finereportweb报表函数总结
ADD2ARRAY
ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
示例:
ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].
ADDARRAY([3,4, 1, 5, 7], "测试&q
- 游戏服务器网络带宽负载计算
墙头上一根草
服务器
家庭所安装的4M,8M宽带。其中M是指,Mbits/S
其中要提前说明的是:
8bits = 1Byte
即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。
8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。
我是在计算我们网络流量时想到的
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
Spring 3 系列
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- 高性能mysql 之 选择存储引擎(一)
annan211
mysqlInnoDBMySQL引擎存储引擎
1 没有特殊情况,应尽可能使用InnoDB存储引擎。 原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她 被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃 恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常
- UDP网络编程
百合不是茶
UDP编程局域网组播
UDP是基于无连接的,不可靠的传输 与TCP/IP相反
UDP实现私聊,发送方式客户端,接受方式服务器
package netUDP_sc;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Ine
- JQuery对象的val()方法执行结果分析
bijian1013
JavaScriptjsjquery
JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。
- http请求测试实例(采用json-lib解析)
bijian1013
jsonhttp
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com;
import java.util.HashMap;
import java.util.Map;
import
- 【RPC框架Hessian四】Hessian与Spring集成
bit1129
hessian
在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。
定义模型、接口和服务器端代码
|---Model
&nb
- 【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析
bit1129
Mahout
1.Mahout环境搭建
1.下载Mahout
http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz
2.解压Mahout
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/home
- nginx负载tomcat遇非80时的转发问题
ronin47
nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port
详细如下:
该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的:
? 1 2 3 4 5
- java-17-在一个字符串中找到第一个只出现一次的字符
bylijinnan
java
public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
pu
- mongoDB 复制集
开窍的石头
mongodb
mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题
mo
- [宇宙与天文]宇宙时代的经济学
comsci
经济
宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。
在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源
以目前地球上国家的经济发展水平来讲,
- Git忽略文件
Cwind
git
有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。
==== ==== ==== 一些牢骚
- MySQL连接数据库的必须配置
dashuaifu
mysql连接数据库配置
MySQL连接数据库的必须配置
1.driverClass:com.mysql.jdbc.Driver
2.jdbcUrl:jdbc:mysql://localhost:3306/dbname
3.user:username
4.password:password
其中1是驱动名;2是url,这里的‘dbna
- 一生要养成的60个习惯
dcj3sjt126com
习惯
一生要养成的60个习惯
第1篇 让你更受大家欢迎的习惯
1 守时,不准时赴约,让别人等,会失去很多机会。
如何做到:
①该起床时就起床,
②养成任何事情都提前15分钟的习惯。
③带本可以随时阅读的书,如果早了就拿出来读读。
④有条理,生活没条理最容易耽误时间。
⑤提前计划:将重要和不重要的事情岔开。
⑥今天就准备好明天要穿的衣服。
⑦按时睡觉,这会让按时起床更容易。
2 注重
- [介绍]Yii 是什么
dcj3sjt126com
PHPyii2
Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
Yii 最适合做什么?
Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应
- Linux SSH常用总结
eksliang
linux sshSSHD
转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机
格式:
ssh name@remoteserver
例如:
ssh
[email protected]
二、连接到远程主机指定的端口
格式:
ssh name@remoteserver -p 22
例如:
ssh i
- 快速上传头像到服务端工具类FaceUtil
gundumw100
android
快速迭代用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOExceptio
- jQuery入门之怎么使用
ini
JavaScripthtmljqueryWebcss
jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?
首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。
- 带filter的hbase查询优化
kane_xie
查询优化hbaseRandomRowFilter
问题描述
hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。
问题原因
直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需
- java设计模式-单例模式
men4661273
java单例枚举反射IOC
单例模式1,饿汉模式
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
//私有的默认构造函数
private Singleton1() {}
//已经自行实例化
private static final Singleton1 singl
- mongodb 查询某一天所有信息的3种方法,根据日期查询
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。
// 第一种方式:
coll.aggregate([
{$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}},
{$match:{sendDate: '2015-
- 二维数组转换成JSON
tangqi609567707
java二维数组json
原文出处:http://blog.csdn.net/springsen/article/details/7833596
public class Demo {
public static void main(String[] args) { String[][] blogL
- erlang supervisor
wudixiaotie
erlang
定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_