抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

  今天遇到一个excel下载乱码问题,从服务器上使用流下载方式,用jquery.ajax下载之后,再转成blob使用虚拟节点下载客户端。然后一直乱码。找了很多方法,包括服务器指定 response.setCharacterEncoding(“utf-8”); 客户端再使用 charset=utf-8 指定编码。再或者从 ms-excel 到修改为 octet-stream ,各种组合都无效。烦了一下午。终于找到了一篇博客 jQuery的ajax下载blob文件 ,很显然这篇博客被抄来抄去。也就不转载了,自己搜吧以后。这篇博客提供了一个思路,ajax在底层自动将数据转型为字符串,而且编码不被控制。这也就是为什么我自己制定编码都无效的原因,因为我没有指定ajax底层的编码方式。

  在java中,一个char是2个字节,用utf-16进行编码。一个字符可以转为数字,我猜称为码点(codePoint)。Character里有个方法可以检查,一个码点要用几个char来放。 12345678/** * 如果一个字符用utf-8编码,那么它就有3个字节。 * 这个函数检查,2个字节能不能放的下codePoint码点的字符 * 放的下返回1,放不下返回2 */public s...

类之间的关系大体上存在五种—继承(实现)、依赖、关联、聚合、组合。 继承继承是一种“is-a”关系。多了就不说了,都懂得。 依赖依赖简单的理解,就是一个类A中的方法使用到了另一个类B。 这种使用关系是具有偶然性的、临时性的、非常弱的,但是B类的变化会影响到A。 比如说,我用笔写字,首先需要一个类来代表我自己,然后需要一个类来代表一支笔,最后,‘我’要调用‘笔’里的方法来写字,用代码实现一下:...

Shiro主要组件包括:Subject,SecurityManager,Authenticator,Authorizer,SessionManager,CacheManager,Cryptography,Realms。 SubjectSubject表示与系统交互的对象,可以是登录系统的操作用户,也可能是另外一个软件系统。Subject类图: SecurityManagerSecurity...

  PlantUML使你轻松地从文字描述来生成UML,可谓UML中的MarkDown,支持时序图、用例图、类图、活动图、组件图、状态图、对象图、部署图等UML以及非UML图。在hexo中可以使用hexo-tag-plantuml插件来集成进来。这种方式画UML不仅快速和可控,还给后期维护带来了便捷性。 java包  它可以用java直接使用,下载jar包:plantuml.jar。   描述...

函数签名 public String trim(); 注释 Returns a string whose value is this string, with any leading and trailing whitespace removed.返回一个字符串它的值是它自身,移除前导和后缀空白字符

现在发现,java学习更多是api接口学习。所以要学会把懂的接口写成文档。一个类,所在包,内部公开的api,api调用示例,讲解。这些都要有个标准。就这么定吧:只记录自己见到用到的api的用法,以及源码的英文翻译。和自己的见解。不做全面细致的api翻译,不去全面搞懂所有的api。

1234567891011121314Subject currentUser = SecurityUtils.getSubject();UsernamePasswordToken token = new UsernamePasswordToken(username, password);token.setRememberMe(true);try {  currentUser.log...

默认情况下,SpringApplication 将所有命令行选项参数(即以 – 开头的参数,比如 –server.port=9000)转换为属性,并将它们添加到 Spring Environment 中。如之前所述,命令行属性始终优先于其他属性源。 如果您不希望将命令行属性添加到 Environment,可以使用 SpringApplication.setAddCommandLin...

mysql1SELECT * FROM vacate WHERE create_time BETWEEN '2020-1-1 00:00:00' AND '2020-1-7 09:18:00'; mybatis mapper 12345678910<if test="submitFrom != null and submitTo !=...