前面文章介绍了如何使用Java压缩文件和文件夹:https://blog.terrynow.com/2021/07/01/java-zip-files-how-to/ 本篇Java示例代码是如何解压缩文件: public static void main(String[] args) throws Exception { unzipFile(new File("/Users/Terry/Downloads/test.zip"), new File("/Users/Terry/Downloads/test")); }…

2021-07-02 0条评论 1164点热度 0人点赞 admin 阅读全文

示例Java代码把多个文件用zip格式压缩成ByteArrayOutputStream并存成文件: public static void main(String[] args) throws Exception { //压缩doc下所有的文件 File[] files = new File("/Users/Terry/Downloads/doc").listFiles(); assert files != null; ByteArrayOutputStream bos = zipFiles(files); File…

2021-07-01 0条评论 978点热度 0人点赞 admin 阅读全文

一般SpringBoot打包后生成的是jar包,且自带了tomcat运行环境,是可以直接用java -jar app-0.0.1-SNAPSHOT.jar运行的,不过如果要让它跑在Tomcat下呢? Tomcat下运行的话,是需要war包,所以需要告诉pom是需要打包成war包,且不需要把tomcat运行环境导入war包。 需要修改pom.xml 修改<packaging>war</packaging>,告诉pom打成war包(否则会打包成jar包) spring-boot-starter-…

2021-06-30 0条评论 1526点热度 0人点赞 admin 阅读全文

老系统使用的是Spring2.5.5,准备把老系统换到新的服务器上,安装好了新版的JDK11,却发现无法启动tomcat,查看tomcat/logs/catalina.out的日志: Unexpected exception parsing XML document from class path resource [applicationContext-dao.xml]; nested exception is java.lang.IllegalStateException: Context namespace …

2021-06-27 0条评论 2078点热度 0人点赞 admin 阅读全文

iView的Tabs 标签页组件里,里面的label想用render动态设置label的文字,render函数并可以接收参数,可以使用参数,如下: <!--根据items动态生成多个TabPane--> <TabPane :label="tabLabel(item, index)" v-for="(item, index) in items"> </TabPane> tabLabel: function (item, index) { return function (h) { …

2021-06-25 0条评论 1491点热度 0人点赞 admin 阅读全文

SpringBoot默认采用的应用服务器是Tomcat,如果要换成Jetty,可以在pom.xml 如下设置: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0…

2021-06-24 0条评论 928点热度 0人点赞 admin 阅读全文

一般Tomcat或者Nginx都可能要根据应用不同的情况,来设置请求的超时时间,详见:https://blog.terrynow.com/2021/05/28/nginx-tomcat-request-timeout-increase-avoid-504-gateway-timeout-or-client-abort-exception/ 如果时SpringBoot打包成的jar,是自带Tomcat或者Jetty这些应用服务器的,是通过application.properties配置文件来实现的: # 应用服务器对…

2021-06-22 0条评论 4755点热度 0人点赞 admin 阅读全文

前面的文章(https://blog.terrynow.com/2020/12/23/javascript-debounce/)里是介绍的限制频率,延时去抖动,即:N秒内,仅允许最后一次执行,也就是说理论上用户一直不停的操作下去,永远也得不到执行,现在的要求是,即使这种情况下,也要间隔一定的时间运行(即限制频率调用) 这个要比之前的简单实现,因为只要设定一个状态,或者设定一个时间戳变量,在setTimeout函数里判断下就可以了 // 方式1 function throttle(fn, delay) { var p…

2021-06-21 0条评论 1664点热度 0人点赞 admin 阅读全文

iView里在render下渲染出来的组件里,是不能直接做数据绑定的,不过只要能在组件初始化的时候,给组件赋值,以及用户交互下监听组件状态改变,即时改变相对应的data,就就符合我们的预期了,下面举例介绍 以Select为例: { title: '类型', key: 'type', width: 300, render: (h, params) => { return h('Select', { props: { // 初始化赋值,从params.row中挑出给select初始化赋值 value: param…

2021-06-20 0条评论 1130点热度 0人点赞 admin 阅读全文

iView下表格(Table)组件里columns的render写法,对应普通HTML组件的写法整理如下: return h('Tag', { slot: 'list', // class: 'my-class my-class2', class: { 'show':true, 'iscolor':true }, props: { type: 'primary' }, style: { marginRight: '10px' }, attrs: { src: require("@/assets/xxx.png") …

2021-06-18 0条评论 2309点热度 0人点赞 admin 阅读全文
1424344454656