- 由InputStream.available()引发的偶现bug
eduiH
踩坑记录java面试springboot
案情经过需求是通过Feign下载一个文件,然后将下载接口得到的InputStream文件转成MultipartFile类型然后再调另外一个接口。从Feign返回的InputStream中读取文件流转换成MultipartFile类型过程中会涉及到将InputStream转成OutputStream的操作。由于懒得找所以直接使用了前辈写的工具类,也懒得看实现细节,先把功能实现其他再说。代码大概是这样
- 详细说说JVM的class文件(一)
Benaso
JVMjvm
介绍class虚拟机实现可以从文件系统(环境变量)读取也可以从JAR(或者ZIP)包提取,也可以从网上下载,从数据库加载,甚至在运行中直接生成class文件。文件由8位字节流组成。16位和32位的数量分别通过读入两个和四个连续的8位字节来构造。多字节数据项总是以大端顺序存储,其中高字节放在前面。结构文件由单个结构组成:classClassFileClassFile{u4magic;u2minor_
- 【Java】读取手机文件名称
LI耳
Java日记java智能手机开发语言
首先,确保你已经连接了你的手机并已启用USB调试模式。然后,你需要使用AndroidDebugBridge(ADB)工具来获取手机文件列表。以下是一个简单的Java代码片段,使用ProcessBuilder调用ADB命令来获取文件列表:importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamRe
- 【Java】微信企业付款报错:java.io.IOException: toDerInputStream rejects tag type 45
李维山
Java
原因是证书格式问题,之前用PHP做一直用.pem格式的证书,看了官方文档才知道,其他语言大多用.p12格式的证书:更换为.p12格式证书,不报错了。
- 安卓Java面试题 71- 80
️ 邪神
Android面试题安卓面试题androidjava
71.简述Andorid中的Parcel存储机制?Android中的Parcel机制实现了Bundle传递对象使用Bundle传递对象,首先要将其序列化,但是,在Android中要使用这种传递对象的方式需要用到AndroidParcel机制,即,Android实现的轻量级的高效的对象序列化和反序列化机制。JAVA中的Serialize机制,译成串行化、序列化……,其作用是能将数据对象存入字节流当中
- freemark中插入图片
wyazyf
代码freemark中插入图片freemark导出wordjava
freemark文件中的图片格式是BASE64,模板中的图片代码块,${(img)!}是图片变量${(img)!}生成${(img)!}图片变量(BASE64格式)publicStringgetEmpAutograph(StringfilePath){Stringimg=null;if(StringUtils.isNotEmpty(filePath)){InputStreamin=null;byt
- jvm-jvm类加载机制
诸葛莽夫q
jvmjvm
一,jvm类加载机制1.1什么是类加载机制java代码编译后就会生成JVM能够识别的二进制字节流文件*.class文件,将class文件加载到内存,最终成为可以被JVM直接使用的Java类型,这个过程叫做JVM的类加载机制。1.2类加载过程class文件中的“类”从加载到JVM内存中,到卸载出内存过程有七个生命周期阶段:类加载机制包括了前五个阶段,要注意的是加载、验证、准备、初始化、卸载的开始顺序
- post请求体内容无法重复获取
程序员
post请求体内容无法重复获取为什么会无法重复读取呢?以tomcat为例,在进行请求体读取时实际底层调用的是org.apache.catalina.connector.Request的getInputStream()方法,而该方法返回的是CoyoteInputStream输入流publicServletInputStreamgetInputStream()throwsIOException{if(
- java上传文件到linux
一个金牛座的_coder
笔记javalinux
packagecom.book.demo;importch.ethz.ssh2.*;importcn.hutool.extra.ftp.Ftp;importorg.springframework.web.bind.annotation.RequestMapping;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOEx
- InputStreamReader和BufferedReader的区别
浪白条
.InputStream、OutputStream处理字节流的抽象类InputStream是字节输入流的所有类的超类,一般我们使用它的子类,如FileInputStream等.OutputStream是字节输出流的所有类的超类,一般我们使用它的子类,如FileOutputStream等.2.InputStreamReaderOutputStreamWriter处理字符流的抽象类InputStrea
- linux tcp 主要数据结构
王燕龙(大卫)
tcp/iplinux数据结构
当讨论tcp的时候,我们能想到很多概念:传输层协议,面向连接,可靠,字节流,状态机,三次握手,四次挥手,端口号,连接队列,mss,rtt,定时器,ack,流控,拥塞控制,重传机制,窗口,慢启动,序列号,保序,发送缓冲区,接收缓冲区,nagle,minshall,autocrok,fastopen,慢路径和快路径,延迟ack,NODELAY,linear,SO_REUASEADDR,SO_REUSE
- Java调用FFmpeg将视频和音频合并成新视频的示例
javalinux
importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.ArrayList;importjava.util.List;publicclassFFmpegUtil{/***合并视频和音频*@paramvideoPath视频文件路径*@paramaudi
- 面试系列 - 序列化和反序列化详解
境里婆娑
面试职场和发展
Java序列化是一种将对象转换为字节流的过程,可以将对象的状态保存到磁盘文件或通过网络传输。反序列化则是将字节流重新转换为对象的过程。Java提供了一个强大的序列化框架,允许你在对象的持久化和网络通信中使用它。一、Java序列化的基本原理Java序列化的基本原理是将一个Java对象转换为一个字节序列,以便将其保存到磁盘上的文件或通过网络发送到其他地方。这个字节序列可以随后被反序列化为原始对象。Ja
- 网络安全--浅谈TCP协议
qrainly
网络协议TCP协议
目录简介连接机制(三次握手,四次挥手)建立连接断开连接确认应答机制(ACK机制)超时重传机制滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况TCP保证的可靠性和高性能基于TCP常用协议简介TCP-传输控制协议报头:16位源端口号/16位目的端口号:表示数据从哪个进程来,到那个进程去32位序号:4位首部长度:表示该TCP报头有多少个4字节6位保留:保留数据6位标志位:URG:
- TCP协议浅析(一)
瞎子my
计算机网络Linux网络
对于常见的网络协议来说,TCP是最为人知晓的,即便是一些业外人士只要对电脑网络有一定的了解也能说上几句,那么广为人知的TCP协议到底是什么呢,下边作为一个初学者的视角来浅谈一下TCP(TransmissionControlProtocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。常用于一次传输要交换大量报文的情形,如文件传输,远程登陆等。为了实现这种端到端的可靠传输,TC
- 关于tcp基础知识和三次握手四次挥手浅谈(拼凑)
可以慢慢学习吗
计算机网络
什么是tcp?来自百度百科:TCP(TransmissionControlProtocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。顺便给自己普及什么是udp:DP是UserDatagramProtocol的简称,中文名是用户数据报协议,是OSI(OpenSystemInterconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠
- 板块一 Servlet编程:第四节 HttpServletResponse对象全解与重定向 来自【汤米尼克的JAVAEE全套教程专栏】
汤米尼克
全套教程servletjava-eehive
板块一Servlet编程:第四节HttpServletResponse对象全解与重定向一、什么是HttpServletResponse二、响应数据的常用方法三、响应乱码问题字符流乱码字节流乱码四、重定向:sendRedirect请求转发和重定向的区别在上一节中,我们系统的学习了请求响应在Servlet中service()方法的第一个形参HttpServletRequest(请求)对象,这一节中我们
- 将Xml转为Map集合工具类
Fairy要carry
工具xmljavapython
packagecom.wyh.wx.utils;importorg.dom4j.Document;importorg.dom4j.Element;importorg.dom4j.io.SAXReader;importjava.io.ByteArrayInputStream;importjava.io.InputStream;importjava.nio.charset.StandardCharse
- C++重新入门-基本输入输出
sprite_雪碧
c++算法开发语言
C++的I/O发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,这叫做输入操作。如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),这叫做输出操作I/O库头文件C++中用于输入输出(I/O)的库头文件主要包括、和等。以下是这些头文件的简要介绍::提供了用于控制台输入输出的基本功能,如std::cout、std::cin。包含了标准流对象st
- python中str与bytes在decode()与encode()之间的转换
lvpflv
pythonunicode字符串乱码
pythonstr与bytesencode()方法可以将unicode编码的str类型编码为指定类型的bytes(utf-8、ascii…)字节流>>>'ABC'.encode('ascii')\\字节流b'ABC'>>>'中文'.encode('utf-8')b'\xe4\xb8\xad\xe6\x96\x87'decode()方法可以将(utf-8、ascii…)bytes字节流解码为unic
- 制作简易播放器
zyt.com
java开发语言
importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjavazoom.jl.decoder.JavaLayerException;importjavazoom.jl.player.Player;publicclassdemo01{publicstaticvoidmain(String[]args){//1.
- java第十章java的输入输出与文件处理
爱佳_dee8
第十章java的输入输出与文件处理10.1java的输入输出类库java.io类库10.1.1流的概念计算机各部件之间的数据流动。按照传输方向:输入流:从硬盘中读到内存中(程序中)输出流:从程序(结果)输出到硬盘中按照处理数据类型:字节流:一次一个字节,处理类型为字节型。原始二进制字符流:一次一个字符,输入字符流;输出字符流10.2使用InputStream和OutputStream在这里插入图片
- 【Java成王之路】EE初阶第十三篇:(网络原理) 3
K稳重
网络服务器运维java开发语言
上节回顾TCP1.有连接2.可靠传输(可靠传输!=安全传输,可靠是指我发一个消息之后对方收没收到我心里有数)3.面向字节流4.全双工TCP可靠传输的机制特性:1.确认应答2.超时重传3.连接管理:如何建立连接:三次握手如果断开连接:四次挥手接上一篇继续:如何断开连接:四次挥手四次挥手的状态转换四次挥手一定是四次吗?是否可能是三次?有可能的!!后面会写到:延时应答和捎带应答.虽然ACK和FIN是不同
- 【JavaEE】网络原理: UDP协议和TCP协议的相关内容
夏微凉.
JavaEE网络tcp/ip服务器java开发语言java-eeudp
目录1.应用层2.传输层2.1端口号2.2UDP协议2.3TCP协议1.确认应答2.超时重传3.连接管理三次握手四次挥手状态转换4.滑动窗口5.流量控制6.拥塞控制7.延迟应答8.捎带应答9.面向字节流粘包问题10.异常情况网络通信中,协议是一个非常重要的概念.协议进行了分层,此处就是按照这几层顺序来介绍每一层中的核心协议.1.应用层应用层,通俗来说,就是对着应用程序,是程序员打交道最多的一层.例
- java HTTPS请求绕过证书检测
小百菜
javaHTTPS请求绕过证书检测javaHTTPS请求java请求绕过证书检测
javaHTTPS请求绕过证书检测PKIX:unabletofindvalidcertificationpathtorequestedtargetpackagecom.demo.test;importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.Outp
- mybatis的工具类详解
禹哥。。。
java
mybatis工具类的定义使用工具类可以直接调用工具类获得SqlSession对象publicclassMyBatisUtils{privatestaticSqlSessionFactoryfactory=null;static{Stringconfig="mybatis.xml";//与项目中的文件名一样try{InputStreamin=Resources.getResourceAsStrea
- File类与IO流
库里不会投三分
Java核心技术卷1计算机外设
文章目录计算机I/O体系常见的I/O设备计算机的存储体系软件方面认识OS+文件系统(FileSystem)统一管理文件File类1.1概述1.2判断功能的方法1.3创建删除文件\文件夹方法1.4目录的遍历1.5综合练习I/O流2.1什么是IO2.2IO的分类2.3顶级父类们字节流3.1一切皆为字节3.2字节输出流【OutputStream】3.2.1FileOutputStream类构造方法3.2
- 网络原理(UDP与TCP篇)
Prectie.RTE
网络udptcp/ip
网络原理协议应用层现成的自定义协议格式运输层端口号UDP协议首部格式TCP报文段的首部格式首部格式源端口号和目的端口号序号确认号ack和ACK数据偏移(**首部长度**)保留窗口校验和SYNFINRSTPSHURG和紧急指针扩展首部填充TCP的可靠传输TCP的超时重传TCP的连接管理滑动窗口流量控制(流控)拥塞控制延时应答捎带应答面向字节流粘包问题异常情况按从上到下的顺序来解析“协议”协议应用层应
- 抓包分析 TCP 协议
咖啡加 剁椒
软件测试tcp/ip网络协议网络功能测试软件测试自动化测试程序人生
TCP协议是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。环境准备对接口测试工具进行分类,可以如下几类:网络嗅探工具:tcpdump,wireshark代理工具:fiddler,charles,anyproxyburpsuite,mitmproxy分析工具:curl,postman,chromeDevtool抓包分析TCP协议tcpdumptcpdump是一款将网络中传送的数据包
- JAVA面试题17
CrazyMax_zh
java开发语言
什么是Java中的对象序列化?什么情况下需要序列化?答案:对象序列化是将对象转换为字节流的过程,以便可以保存到文件或通过网络进行传输。需要序列化的情况包括持久化对象、跨网络传输对象、通过RMI远程调用对象等。Java中的final关键字有什么作用?它可以修饰哪些元素?答案:final关键字可以用于修饰类、方法和变量。被final修饰的类无法被继承,被final修饰的方法无法被重写,被final修饰
- java观察者模式
3213213333332132
java设计模式游戏观察者模式
观察者模式——顾名思义,就是一个对象观察另一个对象,当被观察的对象发生变化时,观察者也会跟着变化。
在日常中,我们配java环境变量时,设置一个JAVAHOME变量,这就是被观察者,使用了JAVAHOME变量的对象都是观察者,一旦JAVAHOME的路径改动,其他的也会跟着改动。
这样的例子很多,我想用小时候玩的老鹰捉小鸡游戏来简单的描绘观察者模式。
老鹰会变成观察者,母鸡和小鸡是
- TFS RESTful API 模拟上传测试
ronin47
TFS RESTful API 模拟上传测试。
细节参看这里:https://github.com/alibaba/nginx-tfs/blob/master/TFS_RESTful_API.markdown
模拟POST上传一个图片:
curl --data-binary @/opt/tfs.png http
- PHP常用设计模式单例, 工厂, 观察者, 责任链, 装饰, 策略,适配,桥接模式
dcj3sjt126com
设计模式PHP
// 多态, 在JAVA中是这样用的, 其实在PHP当中可以自然消除, 因为参数是动态的, 你传什么过来都可以, 不限制类型, 直接调用类的方法
abstract class Tiger {
public abstract function climb();
}
class XTiger extends Tiger {
public function climb()
- hibernate
171815164
Hibernate
main,save
Configuration conf =new Configuration().configure();
SessionFactory sf=conf.buildSessionFactory();
Session sess=sf.openSession();
Transaction tx=sess.beginTransaction();
News a=new
- Ant实例分析
g21121
ant
下面是一个Ant构建文件的实例,通过这个实例我们可以很清楚的理顺构建一个项目的顺序及依赖关系,从而编写出更加合理的构建文件。
下面是build.xml的代码:
<?xml version="1
- [简单]工作记录_接口返回405原因
53873039oycg
工作
最近调接口时候一直报错,错误信息是:
responseCode:405
responseMsg:Method Not Allowed
接口请求方式Post.
- 关于java.lang.ClassNotFoundException 和 java.lang.NoClassDefFoundError 的区别
程序员是怎么炼成的
真正完成类的加载工作是通过调用 defineClass来实现的;
而启动类的加载过程是通过调用 loadClass来实现的;
就是类加载器分为加载和定义
protected Class<?> findClass(String name) throws ClassNotFoundExcept
- JDBC学习笔记-JDBC详细的操作流程
aijuans
jdbc
所有的JDBC应用程序都具有下面的基本流程: 1、加载数据库驱动并建立到数据库的连接。 2、执行SQL语句。 3、处理结果。 4、从数据库断开连接释放资源。
下面我们就来仔细看一看每一个步骤:
其实按照上面所说每个阶段都可得单独拿出来写成一个独立的类方法文件。共别的应用来调用。
1、加载数据库驱动并建立到数据库的连接:
Html代码
St
- rome创建rss
antonyup_2006
tomcatcmsxmlstrutsOpera
引用
1.RSS标准
RSS标准比较混乱,主要有以下3个系列
RSS 0.9x / 2.0 : RSS技术诞生于1999年的网景公司(Netscape),其发布了一个0.9版本的规范。2001年,RSS技术标准的发展工作被Userland Software公司的戴夫 温那(Dave Winer)所接手。陆续发布了0.9x的系列版本。当W3C小组发布RSS 1.0后,Dave W
- html表格和表单基础
百合不是茶
html表格表单meta锚点
第一次用html来写东西,感觉压力山大,每次看见别人发的都是比较牛逼的 再看看自己什么都还不会,
html是一种标记语言,其实很简单都是固定的格式
_----------------------------------------表格和表单
表格是html的重要组成部分,表格用在body里面的
主要用法如下;
<table>
&
- ibatis如何传入完整的sql语句
bijian1013
javasqlibatis
ibatis如何传入完整的sql语句?进一步说,String str ="select * from test_table",我想把str传入ibatis中执行,是传递整条sql语句。
解决办法:
<
- 精通Oracle10编程SQL(14)开发动态SQL
bijian1013
oracle数据库plsql
/*
*开发动态SQL
*/
--使用EXECUTE IMMEDIATE处理DDL操作
CREATE OR REPLACE PROCEDURE drop_table(table_name varchar2)
is
sql_statement varchar2(100);
begin
sql_statement:='DROP TABLE '||table_name;
- 【Linux命令】Linux工作中常用命令
bit1129
linux命令
不断的总结工作中常用的Linux命令
1.查看端口被哪个进程占用
通过这个命令可以得到占用8085端口的进程号,然后通过ps -ef|grep 进程号得到进程的详细信息
netstat -anp | grep 8085
察看进程ID对应的进程占用的端口号
netstat -anp | grep 进程ID
&
- 优秀网站和文档收集
白糖_
网站
集成 Flex, Spring, Hibernate 构建应用程序
性能测试工具-JMeter
Hmtl5-IOCN网站
Oracle精简版教程网站
鸟哥的linux私房菜
Jetty中文文档
50个jquery必备代码片段
swfobject.js检测flash版本号工具
- angular.extend
boyitech
AngularJSangular.extendAngularJS API
angular.extend 复制src对象中的属性去dst对象中. 支持多个src对象. 如果你不想改变一个对象,你可以把dst设为空对象{}: var object = angular.extend({}, object1, object2). 注意: angular.extend不支持递归复制. 使用方法: angular.extend(dst, src); 参数:
- java-谷歌面试题-设计方便提取中数的数据结构
bylijinnan
java
网上找了一下这道题的解答,但都是提供思路,没有提供具体实现。其中使用大小堆这个思路看似简单,但实现起来要考虑很多。
以下分别用排序数组和大小堆来实现。
使用大小堆:
import java.util.Arrays;
public class MedianInHeap {
/**
* 题目:设计方便提取中数的数据结构
* 设计一个数据结构,其中包含两个函数,1.插
- ajaxFileUpload 针对 ie jquery 1.7+不能使用问题修复版本
Chen.H
ajaxFileUploadie6ie7ie8ie9
jQuery.extend({
handleError: function( s, xhr, status, e ) {
// If a local callback was specified, fire it
if ( s.error ) {
s.error.call( s.context || s, xhr, status, e );
}
- [机器人制造原则]机器人的电池和存储器必须可以替换
comsci
制造
机器人的身体随时随地可能被外来力量所破坏,但是如果机器人的存储器和电池可以更换,那么这个机器人的思维和记忆力就可以保存下来,即使身体受到伤害,在把存储器取下来安装到一个新的身体上之后,原有的性格和能力都可以继续维持.....
另外,如果一
- Oracle Multitable INSERT 的用法
daizj
oracle
转载Oracle笔记-Multitable INSERT 的用法
http://blog.chinaunix.net/uid-8504518-id-3310531.html
一、Insert基础用法
语法:
Insert Into 表名 (字段1,字段2,字段3...)
Values (值1,
- 专访黑客历史学家George Dyson
datamachine
on
20世纪最具威力的两项发明——核弹和计算机出自同一时代、同一群年青人。可是,与大名鼎鼎的曼哈顿计划(第二次世界大战中美国原子弹研究计划)相 比,计算机的起源显得默默无闻。出身计算机世家的历史学家George Dyson在其新书《图灵大教堂》(Turing’s Cathedral)中讲述了阿兰·图灵、约翰·冯·诺依曼等一帮子天才小子创造计算机及预见计算机未来
- 小学6年级英语单词背诵第一课
dcj3sjt126com
englishword
always 总是
rice 水稻,米饭
before 在...之前
live 生活,居住
usual 通常的
early 早的
begin 开始
month 月份
year 年
last 最后的
east 东方的
high 高的
far 远的
window 窗户
world 世界
than 比...更
- 在线IT教育和在线IT高端教育
dcj3sjt126com
教育
codecademy
http://www.codecademy.com codeschool
https://www.codeschool.com teamtreehouse
http://teamtreehouse.com lynda
http://www.lynda.com/ Coursera
https://www.coursera.
- Struts2 xml校验框架所定义的校验文件
蕃薯耀
Struts2 xml校验Struts2 xml校验框架Struts2校验
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月11日 15:54:59 星期六
http://fa
- mac下安装rar和unrar命令
hanqunfeng
mac
1.下载:http://www.rarlab.com/download.htm 选择
RAR 5.21 for Mac OS X 2.解压下载后的文件 tar -zxvf rarosx-5.2.1.tar 3.cd rar sudo install -c -o $USER unrar /bin #输入当前用户登录密码 sudo install -c -o $USER rar
- 三种将list转换为map的方法
jackyrong
list
在本文中,介绍三种将list转换为map的方法:
1) 传统方法
假设有某个类如下
class Movie {
private Integer rank;
private String description;
public Movie(Integer rank, String des
- 年轻程序员需要学习的5大经验
lampcy
工作PHP程序员
在过去的7年半时间里,我带过的软件实习生超过一打,也看到过数以百计的学生和毕业生的档案。我发现很多事情他们都需要学习。或许你会说,我说的不就是某种特定的技术、算法、数学,或者其他特定形式的知识吗?没错,这的确是需要学习的,但却并不是最重要的事情。他们需要学习的最重要的东西是“自我规范”。这些规范就是:尽可能地写出最简洁的代码;如果代码后期会因为改动而变得凌乱不堪就得重构;尽量删除没用的代码,并添加
- 评“女孩遭野蛮引产致终身不育 60万赔偿款1分未得”医腐深入骨髓
nannan408
先来看南方网的一则报道:
再正常不过的结婚、生子,对于29岁的郑畅来说,却是一个永远也无法实现的梦想。从2010年到2015年,从24岁到29岁,一张张新旧不一的诊断书记录了她病情的同时,也清晰地记下了她人生的悲哀。
粗暴手术让人发寒
2010年7月,在酒店做服务员的郑畅发现自己怀孕了,可男朋友却联系不上。在没有和家人商量的情况下,她决定堕胎。
12月5日,
- 使用jQuery为input输入框绑定回车键事件 VS 为a标签绑定click事件
Everyday都不同
jspinput回车键绑定clickenter
假设如题所示的事件为同一个,必须先把该js函数抽离出来,该函数定义了监听的处理:
function search() {
//监听函数略......
}
为input框绑定回车事件,当用户在文本框中输入搜索关键字时,按回车键,即可触发search():
//回车绑定
$(".search").keydown(fun
- EXT学习记录
tntxia
ext
1. 准备
(1) 官网:http://www.sencha.com/
里面有源代码和API文档下载。
EXT的域名已经从www.extjs.com改成了www.sencha.com ,但extjs这个域名会自动转到sencha上。
(2)帮助文档:
想要查看EXT的官方文档的话,可以去这里h
- mybatis3的mapper文件报Referenced file contains errors
xingguangsixian
mybatis
最近使用mybatis.3.1.0时无意中碰到一个问题:
The errors below were detected when validating the file "mybatis-3-mapper.dtd" via the file "account-mapper.xml". In most cases these errors can be d