webutil

Java 通过wkhtmltopdf在线生成PDF

佐手、 提交于 2020-04-22 02:28:05
1. 下载安装wkhtmltopdf; 百度网盘: https://pan.baidu.com/s/1Lb28f93nY0N86iW0MhFA9g 提取码:s2fa 2. 创建一个工具类WKHtmlToPdfUtilUtil.java,写入以下代码: package com.zghky.utils; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.util.Date; public class WKHtmlToPdfUtil { private static class ClearBufferThread implements Runnable { private InputStream in; public ClearBufferThread(InputStream inputStream) { this.in = inputStream; } @Override public void run() {

mybatis springmvc velocity环境搭建

痞子三分冷 提交于 2019-12-04 19:08:36
前言 轻量级ORM框架MyBatis完美的配合SpringMVC web框架实现了后台action的开发,结合Java模版引擎velocity实现了Java代码与前端代码的隔离。 搭建过程 后台配置mybatis 添加依赖 Spring 3.2.4-RELEASE <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${version.spring}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${version.spring}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${version.spring}</version> </dependency> mybatis <dependency> <groupId>org.mybatis<

初学自动化测试工具Selenium

强颜欢笑 提交于 2019-12-02 21:18:01
前言 Selenium是一个用于Web应用程序测试的工具, 测试直接运行在浏览器中,就像真正的用户在操作一样。因此使用Selenium则可以实现模拟真实用户测试web应用程序。 如何使用 从上面可以看到Selenium是用来测试web应用程序的,那么自然离不开浏览器。那么下面看看使用的步骤: 选择浏览器 对于IE浏览器和Chrome浏览器都需要下载driver。由于墙过于坚实,此处可提供chromedriver的一个 下载地址 firefox只需指定firefox.exe的路径 添加maven依赖组件 <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.42.2</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-chrome-driver</artifactId> <version>2.42.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId

JMX学习以及在log4j中的应用

匆匆过客 提交于 2019-12-01 01:23:47
前言 JMX即Java Managemen Extensions,是一个为应用程序植入管理功能的框架。一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。 常常在编程的过程中有一些配置信息需要动态的进行改变,我以往会有如下几种做法: 写死在Java code中,环境发生变化的时候修改Java code 写在名为*.properties的配置文件里,使用Java读取配置文件 然而今天我们将引入一种高级的方式来进行配置信息的管理,那便是JMX的引入。 如何使用JMX JMX做为一份规范,JDK中提供了JMX接口,因此安装了JDK后就可以开发基于JMX的代码了。 JMX具有两层结构,各层的组件如下 工具层 Mbeans 通知模型:Notification、NotificationListener Mbeans与数据类:Attribute、Operator 代理层 MBean Server 代理服务 下面学习下log4j2对JMX的支持 JMX-log4j2 Log4j 2 开始支持 JMX. StatusLogger, ContextSelector, 和所有的 LoggerContexts, LoggerConfigs 以及 Appenders 使用了MBeans并且可以被远程检测和控制. 使JMX生效 默认情况下JMX是生效的

线程池使用InheritableThreadLocal踩坑总结

99封情书 提交于 2019-11-29 14:37:25
一、缘起 某天测试环境更新后,有小伙伴反应页面会随机性的发生请求参数为空的情况(request.getParamter为空),但是前端的参数是传了的,而且不能稳定重现,需要在页面上经过一番操作之后才会发生,而当问题重现之后,之前那些可用的页面就变得不可用了,然后就会在可用和不可用之间交替...... 我接到问题的第一反应是 二、踩坑 2.1 寻找罪魁祸首 代码中request为空,但是前端有传递,第一时间想到的就是线程切换导致ThreadLocal传递出现问题。 然而这个坑我们之前是踩过的,并且已经在切面中手动改成了可继承的线程变量 HttpServletRequest servletRequest = WebUtil.getRequest(); HttpServletResponse servletResponse = WebUtil.getResponse(); //声明子线程的时候,这些属性不会继承,手动赋值成可继承的属性 ServletRequestAttributes attributes = new ServletRequestAttributes(servletRequest, servletResponse); RequestContextHolder.setRequestAttributes(attributes, true);