- 博客(41)
- 收藏
- 关注
原创 navicat导入数据库连接后,添加Oracle报错:ORA-01017:invalid username\password;logon denied
navicat导入旧电脑的连接后,有的可以正常连接,有的提示账户密码错误,最终发现OCI文件引入版本有误,引入是11版本,有的数据库需要12,需要导入合适版本的oci文件。
2024-07-09 10:37:19
678
原创 使用Java对sftp带有中文路径的文件夹进行下载,乱码打不开文件夹
sftp含有中文路径文件夹,使用sftp.ls(Path)列出文件列表名称时,在公司自己的sftp服务器是可以转换path编码正常读取列表;但是在客户现场会因为乱码抛出异常,如何转换path编码都不行,怀疑是客户sftp服务器编码设置的问题,这里我们直接使用下述方法对sftp连接强制改变编码(jsch50不支持改编码)//利用反射修改版本编号Class<ChannelSftp> c = ChannelSftp.class;Field f = c.getDeclaredField("serv
2020-11-30 10:31:29
2391
原创 maven项目引用新模块,依赖的jar包与新模块中的jar包版本不一致
历时一天终于解决了这个磨人的问题,先来说下我们的需求:我们公司扫出我们的jar包有漏洞,经查明是因为版本过低,官方已经做了修复,只需要把版本提上来就可以了,原以为很简单,就在被引用项目中把版本升了,很自信(fu)的把代码交了,没想到在引用项目没生效,还是之前的低版本,各种找问题,吐血的那种,最后终于发现是依赖传递的优先级问题。贴一段官方文档的解释:Dependency management - this allows project authors to directly specify the
2020-08-07 17:36:53
4797
1
原创 连接Oracle时,navicat可以登录,但是用plsql登录会报 ora-01017:invalid username/password; logon denied
有一下几个点来查看原因:1.查看本地是否安装oracle客户端,并且是否完成一下配置;OCI库需要指定自己的oci文件地址(oci.dll)2.如果上面已经配置好仍然报同样的错误,需要查看安装的Oracle客户端路径下是否有tnsnames.ora文件,没有的话,需要做如下配置:Oracle安装目录下创建子文件夹network\admin,绝对路径也就是x:oraxcle安装路径\network\admin,在该目录下新建文件tnsnames.ora。然后添加环境变量TNS_ADMIN,值为
2020-08-04 15:14:47
3276
原创 Oracle多表联查时,某个字段由逗号分割的字符串组成,关系是此字符串切割后,对应另一张表某个字段,如何实现一条sql完成查询?
此需要类似于在sql中,使用in的场景,只是in是一对多,此处需要切割后的多对多。这里我使用了Oracle函数进行处理,取交集CREATE OR REPLACEFUNCTION "FUN_JUDGE_ISCONTAIN" (ids IN NVARCHAR2, out_ids IN NVARCHAR2)return numberASconnum NUMBER;BEGIN IF ...
2019-11-27 15:09:48
696
原创 常见JVM参数讲解
-Xmx10240m:最大堆大小-Xms10240m:初始堆大小-Xmn5120m:年轻代大小-XXSurvivorRatio:年轻代中,Eden与Survivor区(to,from区)的比值;默认8,即Eden独占8,to与from各占1-XX:NewRatio:老年代与新生代的比值;如4,即是新生代占堆的1/5...
2019-10-24 10:25:29
258
原创 BeanFactory与FactoryBean的区别
BeanFactoryBeanFactory是spring中IOC容器的基础形式,给具体的IOC容器的实现提供了规范。正如ApplicationContext就是他派生而来,以及常用的具体实现ClassPathXmlApplicationContext等,作为框架中生产和管理bean的容器。职责:实例化,定位,配置应用程序中的对象以及建立对象间的依赖。FactoryBean通常情况...
2019-10-23 15:42:14
145
原创 easyui的下拉框combobox在包含的iframe页面里点击不能收回解决办法
此处下拉框不能收回是因为iframe是新页面,点击事件不能传递到父级页面。我们需要在父级页面监听iframe页面的点击事件,进而操作下拉框的动作:以下是获取iframe的js:var iframe = document.getElementById('iframeId');iframe.contentWindow.addEventListener('click',function (e...
2019-10-10 10:48:34
634
原创 帆软报表填报自定义提交-后台数据解析保存详解
帆软报表填报前期步骤按api或者百度就可以完成,今天我这里着重讲解自定义提交(访问web后台服务进行提交)。填报提交有两种方式:1)内置SQL:没什么难度,按教程来就行。2)自定义提交:对应后台服务进行数据处理保存。自定义提交大致分为以下几个步骤:1)编写自定义帆软接收类(上图的Fill类)自定义接收类我这里以ReportFillDataHandler类为例,继承Tota...
2019-07-12 14:30:47
9935
3
原创 帆软报表 修改 加载中 文字
在模板设计器中选择:模板-->模板web属性-->分页/填报设置-->事件设置-->加载起始添加以下js,即可完成对应修改FR.i18n['Loading'] = "<i18n key=REPORT_MSG_LOADING>Loading</i18n>";我此处是配置了多语言,如果不需要多语言,直接在=后面写需要展示的文字即可。...
2019-06-17 11:03:02
1454
原创 ie浏览器中 textarea 不能自动换行
由于在谷歌浏览器自动换行没有问题,我们可以在ie控制台和谷歌控制台比较一下各自的属性,发下ie缺少了white-space:pre-wrap;在style里加上后发现ie也可以自动换行了...
2019-05-23 11:50:53
1937
原创 自定义帆软报表的导出
一旦使用第三方插件做我们的报表就会专门布置一台报表服务器。在我们的其他服务器调用报表服务器的方法时会有跨域问题。一般我们都用iframe在我们自己的html页面嵌入报表,官方给出下面的方法,调用报表服务器的导出服务。但我们自己测试不成功。document.getElementById('iframeId').contentWindow.contentPane.exportReportTo...
2019-04-03 17:15:10
6172
3
原创 Oracle获取指定时间段内的所有日期
以当日SYSDATE为开始时间,本月最后一天为结束时间来演示:SELECT trunc(SYSDATE)+rownum-1 day from dual connect by rownum <= trunc(LAST_DAY(SYSDATE)) - trunc(SYSDATE)+1connect by:指定层级的父行于子行的关系,并进行对应的循环。...
2019-03-27 17:18:50
1940
原创 Oracle获取一年中的所有日期和一个月中的所有日期
以当日SYSDATE为传入时间,也可以自行传入需要的日期获取当月所有日期SELECT TRUNC(SYSDATE, 'MM') + ROWNUM - 1 FROM DUAL CONNECT BY ROWNUM <= TO_NUMBER(TO_CHAR(LAST_DAY(SYSDATE), 'dd'))获取当年所有日期SELECT TRUNC(SYSDATE, 'YYY...
2019-03-07 15:30:37
7799
1
原创 获取实体类属性值为null的属性名
在BeanUtils.copyProperties(Object source, Object target, String... ignoreProperties)中,可以传入属性为null的属性名来提高效率。下面我们来写个工具类获取实体类为null的属性数组://忽略null值public static String[] getNullpropertyName(Object sourc...
2019-01-11 11:27:12
3460
原创 nginx配置文件简单理解(自用)
upstream:可以设定我们要负载的上游服务器集群,并且指定负载的策略,默认轮询,可设置ip-hash,url-hash,权重等等。server-->server_name:指定访问的url拦截规则。location / :最佳匹配原则,将拦截所有没有其他匹配的访问。location /wellplan:将优先匹配/wellplan。proxy_pass:将请求转发...
2018-12-28 17:45:22
175
翻译 Java日常编程优化细节
1.对一些集合,如vector,hashtable等等,要是能确定大小,最好在创建时给定大小。因为如果使用默认的,达到阈值将会创建新的并复制过去,耗能。2.对于一些set方法不会发生重载的最好用final修饰,这样在编译时,回当成inline(内联)函数--》调用到此函数的地方,在编译时会将函数内容编译过去。3.在循环时,提前将list.size()在循环外定义,这样避免每次循环进行计算。...
2018-12-27 21:15:34
138
原创 idea引入外部jar,运行项目不报错,使用maven打war包install/package时报程序包不存在等
项目由于某种特殊原因,需要引入maven中央仓库不存在的jar,这时我们都在WEB-INF/lib下引入,引入外部jar百度一大堆。我今天碰到是问题是引入jar,项目运行没问题,就是在打war包时报程序包不存在等等,反正是找不到引入的jar,搞了半天,确定自己都在idea中引入了,忽然想到可能是打包编译,没加载到的原因,马上在pom加入下面代码,war成功打出。 ...
2018-12-25 17:17:32
4625
4
原创 swagger在springboot上的快速上手
Swagger是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.首先,在pom文件引入如下依赖位置: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</art...
2018-11-28 16:01:05
317
翻译 常用位操作以及相关原理
& 运算:1 & 1 = 1,其他都为0(有0即为0)| 运算: 0 | 0 = 0 ,其他都为1(有1即为1)^ 运算 : 0 ^ 0 = 0, 1 ^ 1 = 0 (相同数字^为0,不同数字^为1)~运算: ~1001 = 0110 ( 将所有位取反,也叫取反运算)1.判断给定数字的奇偶性if((x & 1) = 1) x is 奇e...
2018-11-28 10:57:36
590
原创 spring中的BeanFactory源码详解
public interface BeanFactory { String FACTORY_BEAN_PREFIX = "&"; Object getBean(String var1) throws BeansException; <T> T getBean(String var1, Class<T> var2) throws Bean...
2018-11-03 16:36:22
607
原创 jvm虚拟机创建对象
虚拟机遇到一条new指令,首先去检查这个指令的参数是否能在常量池定位到一个类的符号引用,并检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有必须先执行相应的类加载过程。 类加载检查后,进行虚拟机为新生对象分配内存。对象所需的内存大小在类加载完成后便可完全确定,为对象分配空间任务类似于将一块确定大小的内存从Java堆里划分出来,中间放有一个指针作...
2018-10-26 14:45:32
142
原创 Java内存区域-运行时数据区域
Java虚拟机在运行时将内存划分为以下五个不同区域.1.程序计数器: 是一块较小空间,可以看作是当前线程所执行的字节码行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖此计数器完成。 由于Java虚拟机的多线程是轮流切换并分配处理器执行时间的方式来实现的...
2018-10-25 19:05:14
142
原创 获取request的json数组对象
POST url HTTP/1.1Content-Type: application/json[ { "id": 36, "name": "国内事业部", "parentId": 36, "companyId": 36 }, { "id": 37, "name": &
2018-10-15 18:44:44
3350
原创 IDEA 每次启动javaWEB项目,都会自动打开浏览器标签页,如何关闭这么烦人的操作?
话不多说,直接上图将这里的after launch取消勾选即可
2018-09-17 15:31:36
19905
1
原创 request获取各种路径记录
request.getServletContext().getContextPath() :获取项目名request.getRequestURL() :获取当前访问的绝对路径request.getRequestURI() : 获取当前访问的相对路径(无IP与端口)
2018-08-30 11:45:51
1031
原创 corn表达式的简单使用
corn表达式共有7位: 秒: 0-59 , - * /(0/5:每隔5秒执行一次) 分: 0-59 , - * / 时: 0-23 , - * / 日: 1-31 , - * ? / L(最后一个) W(最近的日) C(关联日历) 月: 1-12 , - * / 星期: 1-7 , - * ? / ...
2018-08-29 16:28:11
5984
原创 spring boot2.0配置log4j2 发布到生成环境 报内存溢出异常 解决方案
由于SpringBoot自带logging,但我们又偏偏不想用,这时导入log4j2(抽的),在测试环境与本地没问题,一发布到线上就启动不起来,并报出栈溢出,需要在pom做如下配置: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin...
2018-08-29 10:00:18
3196
原创 sleep与wait的区别? 以及wait(long timeout)中timeout的含义
sleep是Thread的静态native方法,可随时调用,会使当前线程休眠,并释放CPU资源,但不会释放对象锁; public static native void sleep(long millis) throws InterruptedException;wait方法是Object的方法,只能在同步方法或同步代码块中使用,调用会进入休眠状态,并释放CPU资源与对象锁,需要我们调用n...
2018-08-26 13:03:48
3395
原创 Lock锁的简单使用
Lock锁与synchronize关键字的区别: 1.Lock锁可以在我们需要的地方显式的调用,或者中断,以及超时获取锁等更加灵活的锁操作;但是失去了synchronize隐式获取与释放的便捷性. 2.Lock锁必须使用unLock释放,因此我们大多在finally代码块中释放.//获取锁void lock();//获取锁过程中可以响应中断void ...
2018-08-24 16:29:24
3557
原创 浅谈Java的Nio以及报Connection refused: no further information异常原因?
nio即new io,为原有的io提供缓存(buffer)支持,并加入了selector选择器来支持非阻塞的高伸缩性的io.io都是阻塞的,即获取连接(read)开始必须等到读/写操作全部结束才会释放资源,我们有1000个io操作就需要1000个线程去维护,显然对系统压力太大,在如今高并发横行的时代,io性能更加捉襟见肘.nio为我们提供了channel,selector,我们通过管道ch...
2018-08-21 19:16:06
8235
原创 如何让<li>中内容超出部分显示为...?
<style> li { width:200px; white-space:nowrap; text-overflow:ellipsis; -o-text-overflow:ellipsis; overflow: hidden; }</style>
2018-08-20 11:49:42
601
原创 项目中AOP的使用-读写分离
在最近做的项目中为了提高系统的性能,提高并发和负载能力,减少数据库压力.我们对项目进行了读写分离!在我们这个项目中,读写分离具体应用为: 1.使用切面类根据service的方法名,来区分使用哪个数据库 2.方法名需要遵循一点的规范 3.统一查询使用一个库,对数据库进行操作使用另一个库@Aspect@Componentpublic cla...
2018-08-20 10:00:13
754
原创 浅谈在基本数据包装类中使用'=='与equals的区别
当"=="两边的数据都是包装类型时,比较的是两对象是否为同一对象;当等式一边有逻辑运算时,会触发自动拆箱,则比较的是数值.而equals则不会进行类型转换.输出结果为:true false...
2018-08-17 14:42:44
695
原创 SpringBoot整合freemarker找不到静态资源ftl文件解决办法
1.检查是否引入freemarker依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId></dependency>2.检查是否引...
2018-08-17 14:33:22
14752
1
原创 MySQL 定时任务event 按天建表 并将前一天数据导入新建的表中并删除总表数据 实现分表功能
需求:实现日志系统保存日志信息到数据库,由于日志信息量巨大,需要每天一张表来管理数据.思路:总表不能改变,因为代码中SQL语句已经写死,表名不能改变;因此我们每天定时将总表数据导入到新表中,并将总表旧数据删除.1.通过event事件实现定时执行存储过程procedure2.通过创建存储过程procedure来建新表,导数据,删数据的操作实现:1.首先设置时区,并开启事件调度器...
2018-07-26 08:58:13
980
原创 @RequestParam接收解析不到 POST 提交的 数据
1.使用postman或者其他发送请求模拟器进行模拟访问,需要指定Headers为Content-Type:application/x-www-form-urlencoded;指定body类型为x-www-form-urlencoded类型.2.使用ajax提交的post请求,需要指定ContentType: 为 application/x-www-form-urlencoded.(接收不到a...
2018-07-23 14:10:01
41363
2
原创 浅谈@RequestParam与@RequestBody区别
@RequestParam:与servlet的request.getParameter()用法一致,都是用来接收form表单的提交,默认是application/x-www-form-urlencoded编码的内容,我们平时的jQuery与js提交都是默认application/x-www-form-urlencoded.(注意:不能接收json类型数据).ajax提交的json数据会被appli...
2018-07-12 17:38:03
883
原创 阿里云OSS进行文件下载时,报NOSuchKeys: com.aliyun.oss.OSSException: The specified key does not exist.
OSS文件下载:bucketName:bucket的名称objectName:保存文件时,OSS服务器返回给我们的urlpath:下载到本地的路径OSSClient client= new OSSClient(endpoint, accessKeyId, accessKeySecret).getObject(new GetObjectRequest(bucketName, objectName),...
2018-06-25 18:23:36
75249
6
原创 上传文件到阿里云OSS报错-Unable to execute HTTP request: You have no right to access this object because of buc
异常描述:<[Server]Unable to execute HTTP request: You have no right to access this object because of bucket acl.[ErrorCode]: AccessDenied[RequestId]: 5B2B076B[HostId]: oss-xxx-s.ddss-cn-shanghai.aliyun...
2018-06-21 10:57:40
21179
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人