
Java
Jay_1989
做事先做人!
展开
-
Java服务端极光推送整合Ios、Android
推送是APP做推广的常用手段,比如节假日有啥活动,APP经常会弹出一个消息,上面写着xxx活动,请大家关注之类的,如下图:这次我们的APP采用极光推送,一开始比较懵逼,然后详细看了一下官方文档,做完之后,收获颇深。服务端推送之后,客户端不管Ios还是Android都是秒收到消息。讲代码之前需要先明确两个概念:消息和通知通知:发送后会在系统通知栏收到展现,同时响铃或振动提醒用户。 消...原创 2018-09-19 15:32:53 · 4408 阅读 · 2 评论 -
Centos搭建SVN服务器
之前我们搭建SVN服务器一直是在Windows服务器上面的,今天试着在Linux服务器上面搭建一下SVN服务器,整个过程很是简单,很容易操作。一、服务器搭建1、yum install subversion直到显示Complete则表示SVN已经安装完成了。2、输入rpm -ql subversion查看安装位置我们知道svn在bin目录下生成了几个二进制原创 2016-11-23 13:11:20 · 1066 阅读 · 0 评论 -
maven核心pom.xml详解
什么是pom? pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。快速察看: 4.0.0 ... ... ... ... ... ...转载 2017-02-14 14:25:07 · 564 阅读 · 0 评论 -
阿里巴巴druid介绍
一、Druid是什么Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。同时Druid不仅仅是一个数据库连接池,它包括四个部分:Dr原创 2017-02-15 10:31:42 · 17016 阅读 · 1 评论 -
shrio权限管理filterChainDefinitions过滤器配置
/*** Shiro-1.2.2内置的FilterChain* @see =============================================================================================================================* @see 1)Shiro验证URL时,URL匹配成功便不再继转载 2017-02-24 14:59:24 · 852 阅读 · 0 评论 -
Eclipse中maven项目update project更改项目编码的问题
现象eclipse项目update project时会修改项目的编码为gbk编码,导致中文乱码问题解决办法在pom.xml文件中指定编码方式: UTF-8 UTF-8 UTF-8原创 2017-03-09 15:24:53 · 2612 阅读 · 1 评论 -
Maven快速查找jar包的pom结构
对于初学maven的人来说刚开始会有个困惑,那就是怎么知道依赖的jar的groupId和atrifactId是什么比如要依赖mongodb,会在pom.xml中配置如下: org.mongodb mongo-java-driver 3.4.2 那怎么知道groupId是org.mongodb,artifactId是mongo-java-driver呢。方法很简原创 2017-03-22 11:46:03 · 4894 阅读 · 0 评论 -
Java反射功能
一、什么是Java的反射?要让Java程序能够运行,就得让Java类被Java虚拟机加载。Java类如果不被Java虚拟机加载就不能正常运行。正常情况下,我们运行的所有的程序在编译期时候就已经把那个类被加载了。Java的反射机制是在编译时并不确定是哪个类被加载了,而是在程序运行的时候才加载、探知、自审。使用的是在编译期并不知道的类。这样的编译特点就是java反射。二、反射机制的优点与缺原创 2017-03-30 11:41:33 · 763 阅读 · 0 评论 -
Java中String与BufferedReader、InputStream转换
1、String –> InputStreamInputStrem is = new ByteArrayInputStream(str.getBytes());或者ByteArrayInputStream stream= new ByteArrayInputStream(str.getBytes());2、InputStream–>StringinputStream input =原创 2017-04-13 09:46:51 · 20269 阅读 · 0 评论 -
解决maven update project 后项目jdk变成1.5
一、问题描述 在Eclipse中新建了一个Maven工程, 然后更改JDK版本为1.7, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5。二、原因分析Maven官方文档有如下描述:编译器插件用来编译项目的源文件.从3.0版本开始, 用来编译Java源文件的默认编译器是javax.tools.JavaCompiler (如果你是用的是jav原创 2016-09-28 10:01:22 · 11904 阅读 · 2 评论 -
svn报can't open file‘\db\txn-current-lock’错误
今天在Linux环境下安装好SVN服务器后,在Linux环境下可以正常地检出、提交,在Windows PC上把已有的Repository检出后,结果在提交的时候出现以下错误:svn: Can’t open file ‘/var/svn/svnreos/db/txn-current-lock’: Permission denied出现这种问题的原因在于搭建SVN服务器,包括创建Repos原创 2017-02-13 09:55:20 · 2605 阅读 · 0 评论 -
CentOS Nexus安装与使用
上一篇文章“CentOS Maven安装与使用”已经介绍了Maven的安装与使用,那么我们下面开始创建Nexus实现私服的功能。1、Nexus下载点击链接“nexus-2.3.1-bundle.tar.gz”可直接下载,且不需要积分。2、Nexus安装通过FTP工具将nexus-2.3.1-bundle.tar.gz文件上传到CentOS服务器在FTP服务器上查看上传的原创 2016-10-08 15:30:32 · 2826 阅读 · 0 评论 -
CentOS Maven安装与使用
1.首先到Maven官网下载安装文件,下载文件为apache-maven-3.3.9-bin.tar.gz,点击链接可以直接下载,不需要积分的哟,然后将下载的文件通过FTP工具存放到CentOS服务器里。2.进入下载文件夹,找到下载的文件,运行如下命令解压tar -xvf apache-maven-3.3.9-bin.tar.gz解压后的文件夹名为apache-m原创 2016-09-30 11:47:19 · 14996 阅读 · 1 评论 -
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building
昨天接到领导布置的任务,与集团旗下一个子公司妙健康做接口开发,他们的接口是https的,因此我采用HttpsURLConnection来建立https网站发起的请求连接,测试demo代码如下:package com.pcmall;import java.net.URL;import java.security.cert.CertificateException;import java.s原创 2016-11-16 10:52:55 · 9602 阅读 · 2 评论 -
JAVA利用HttpClient进行POST请求(HTTPS)
目前,要为另一个项目提供接口,接口是用HTTP URL实现的,最初的想法是另一个项目用jQuery post进行请求。但是,很可能另一个项目是部署在别的机器上,那么就存在跨域问题,而JQuery的post请求是不允许跨域的。这时,就只能够用HttpClient包进行请求了,同时由于请求的URL是HTTPS的,为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过原创 2016-11-16 16:53:56 · 3876 阅读 · 0 评论 -
Maven为本地、测试、生产等不同的环境打包
大家在项目开发中经常碰到这样的情况,每个项目都会有多套运行环境,比如开发环境、测试环境、生产环境等,不同的环境对应的配置也不尽相同,比如说数据库连接、文件路径、WebServices address等。 不同环境下需要构建不同的包,那么我们可以通过以下两种方式来解决:一、定义多个pom,使用-f 指定比如定义如下pom:pom_dev.xml (default) pom_q原创 2016-12-02 11:38:00 · 2286 阅读 · 0 评论 -
使用Ant打包Java程序
Ant是一个构建工具,它可以帮助我们将项目开发过程中需要完成的各种步骤组织起来,通过一个简易的方式来构建整个项目。一些典型的任务是:编译Java源代码、运行java程序、拷贝文件或目录、将编译完成的类打包等等。一、 安装与配置下载Ant,当前版本是1.9.7。http://ant.apache.org/bindownload.cgi解压文件到目录E:\PCmall\apache-a原创 2016-12-12 15:29:50 · 4040 阅读 · 0 评论 -
Eclipse创建Maven父子项目
工作中Maven项目经常存在父子结构,且子结构项目中还存在互相依赖的关系。1、项目需求今天就介绍在Eclipse中创建Maven父子项目,举一个例子,需要建立如下关系的Maven项目。2、构建一个父级maven项目新建一个Maven项目,如下图所示:选择默认工作空间、工作集,点击“Next”选择"maven-archetype-quickstart"类型,点原创 2016-12-28 13:51:58 · 39891 阅读 · 1 评论 -
Spring如何利用classpath通配符加载配置文件
1、classpath:app-Beans.xml说明:无通配符,必须完全匹配 2、classpath:App?-Beans.xml说明:匹配一个字符,例如 App1-Beans.xml 、 App2-Beans.xml 3、classpath:user/*/Base-Beans.xml说明:匹配零个或多个字符串(只针对名称,不匹配目录分隔符等),例如:user/a/B原创 2017-02-10 17:31:34 · 2186 阅读 · 0 评论 -
linux配置sapjco3
下载资源:jco3_linux64.zip 安装步骤:1.将sapjco3.jar 文件复制至 $JAVA_HOME/lib/sapjco3.jar 2.将 libsapjco3.so 文件复制至 $JAVA_HOME/jre/lib/amd64/server/libsapjco3.so3.设置环境变量 vim /etc/profile 修改文件export JA...原创 2017-05-08 11:19:28 · 9069 阅读 · 2 评论 -
Java通过mybatis插入Oracle数据库中Date格式不显示到时分秒问题
用mybatis generator生成代码后,执行查询语句时,Oracle里的Date类型字段只精确到年月日,后面时分秒都为零。后来发现是jdbcType问题,改成 jdbcType="TIMESTAMP" 就可以。(原先默认生成时是jdbcType="DATE")ps:实体类里Date是Java.util.Date包里的,不是java.sql.Date,否则也会只精确到年月日原创 2017-06-01 14:46:35 · 9120 阅读 · 0 评论 -
Jenkins服务器磁盘空间爆满问题解决
现象:今天接到运维同事通知,说我们测试服务器磁盘空间不足,感觉很奇怪,以前没有出现这种现象的。通过追踪查询,发现是jenkins的构建纪录未清理,而且最近我们项目测试构建很频繁,导致磁盘最近爆涨。注:查看隐藏文件的命令:du -sh .[!.]* * | sort -hr解决方法:1、手工删除构建记录这是最基本的一种操作方法,通过直接物理删除构建记录进行磁盘空间管理。手工删除构建记录方式如下:进入...原创 2018-06-22 16:48:01 · 12715 阅读 · 0 评论 -
Java微信APP支付-统一下单
最近因为公司的业务需要,需要自主开发一套类似淘宝、京东的购物APP系统,本人负责后端在线支付模块接口的开发,主要包含微信、支付宝的统一下单、支付结果通知、申请退款、退款结果通知等接口的开发。费话不多说,我们这一章主要讲述微信APP支付的统一下单接口的开发。官方的API地址:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_...原创 2018-08-22 13:17:44 · 5846 阅读 · 6 评论 -
Java微信APP支付-支付结果通知
上一章讲了微信APP支付统一下单接口的开发,这一章我们讲支付结果通知接口的开发,这一接口是微信异步调用我们的接口,告之我们支付已经成功了,然后我们补录门店、电商订单,更新APP订单支付信息等业务逻辑。官方的API地址:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_7&index=31、应用场景支付完成后...原创 2018-08-28 10:36:56 · 5930 阅读 · 0 评论 -
Java微信APP支付-申请退款
前面已经讲过微信APP支付的统一下单、支付结果通知的接口开发,现在我们讲述一下申请退款的流程开发。官方的API地址:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_4&index=61、应用场景当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在...原创 2018-08-29 14:10:10 · 4028 阅读 · 2 评论 -
Java支付宝APP支付-验证异步通知消息
上一章已经讲述了支付宝如何生成支付订单,这一章讲述一下支付宝生成订单之后,异步通知接口的开发。这里先讲一下啥叫支付宝异步通知:对于App支付产生的交易,支付宝会根据原始支付API中传入的异步通知地址notify_url,通过POST请求的形式将支付结果作为参数通知到商户系统。通知参数详细见官方API:https://docs.open.alipay.com/204/105301/1、异...原创 2018-09-04 10:41:40 · 8034 阅读 · 2 评论 -
Java支付宝APP支付-统一收单交易退款
上一章已经讲述了支付宝服务器异步通知接口的开发,这一章我们讲述一下支付宝统一收单交易退款接口的开发。1、应用场景当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,支付宝将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 交易超过约定时间(签约时设置的可退款时间)的订单无法进行退款 支付宝退款支持单笔交易分多次退款,...原创 2018-09-04 16:13:16 · 4563 阅读 · 1 评论 -
Java微信APP支付-退款结果通知
前面已经讲过微信APP支付的统一下单、支付结果通知、申请退款的接口开发,现在我们讲述一下退款结果通知的流程开发。官方的API地址:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_16&index=111、应用场景当商户申请的退款有结果后,微信会把相关结果发送给商户,商户需要接收处理,并返回应答。 对后台...原创 2018-08-31 17:41:51 · 4907 阅读 · 0 评论 -
Java支付宝APP支付-生成APP支付订单
讲述开发之前,先吐槽一下支付宝的官方文档,做的真乱,看的一头雾水,没有微信那么简单、明了。支付宝接口的调用和普通接口的调用不一样,使用的是支付宝官方的SDK的sdkExecute方法。SDK的下载地址如下:https://docs.open.alipay.com/54/106370/接口官方的API地址:https://docs.open.alipay.com/204/105465/...原创 2018-09-03 15:30:44 · 4278 阅读 · 0 评论 -
java.net.MalformedURLException: no protocol
今天在用JAVA读取SOAP1.2接口返回数据时,解析XML数据时出现的在这个异常,java.net.MalformedURLException: no protocol初次判断是编码问题,然后上网搜了一下找到解决的办法。我的代码是DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();try{原创 2017-11-16 09:52:46 · 4021 阅读 · 0 评论 -
No such namespace prefix: soap12 is in scope on: org.dom4j.tree.DefaultElement
org.dom4j.IllegalAddException: No such namespace prefix: 这个异常是说:要添加的这个元素的前缀,没有声明!这主要是在添加元素时直接用上级元素的allElement方法时出现的。例:Element ns1 = rootTarget.addElement("soap12:Body");原创 2017-11-13 10:55:55 · 4595 阅读 · 0 评论 -
阿里云dubbo提供者Service启动时默认将方法注册到内网IP
一、现象这个问题困扰了笔者很久,终于找到解决方案。服务提供端代码:但是服务消费端却无法访问。二、原因一般Dubbo服务都是通过内网调用,Dubbo服务启动时默认会将服务注册到内网IP,dubbo-admin也显示服务提供者为内网ip,消费端就无法从外网访问。三、解决过程1、Linux的hosts中设置外网IPa) 通过hostname命令得到机器名b)原创 2017-07-05 21:42:50 · 4390 阅读 · 0 评论 -
CentOS Jenkins安装与使用
jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。jenk原创 2016-10-20 15:38:15 · 5017 阅读 · 0 评论 -
Java动态代理
1、背景:讲Java动态代理之前先讲述一下我之前做过的一个项目,14年做一个手持终端仓储管理系统,主要包含入库、出库、库存查询、盘点,使用的设备是摩托罗拉手持终端,通过扫描入库单号、出库单号、物料编码来进行一系列操作。该项目使用的C#语言,那里的机制叫委托,但是意思是一样的,主要实现目的就是在扫码之后通过扫描到的条码分类处理一系列逻辑,比如扫描入库单号之后加载入库单号对应的入库库位、商品、数量原创 2016-11-29 13:51:00 · 509 阅读 · 0 评论 -
mybatis 中#与$的区别
MyBatis/Ibatis中#和$的区别1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中。如:order by $us原创 2016-04-22 16:46:13 · 1068 阅读 · 0 评论 -
SAP通过JCO调用Java程序配置开发
最近接到一任务,需求是SAP将采购请求发送给第三方EDI程序,我的任务是将第三方EDI接口封装好,然后供本公司SAP程序调用。之前都是JAVA通过JCO来调用SAP的RFC程序,这已经很熟悉了,没有任何问题。现在反过来调用,还是头一回,查阅了大量资料,终于搞定。现将研究成果与大家分享,避免大家走许多弯路。准备工作安装JCo3JCo有32位和64为之分,32位的JVM选择32位的JCO,原创 2017-05-08 11:30:23 · 6924 阅读 · 0 评论 -
Linux环境下安装及配置Nginx
一、安装所需环境Nginx 是 C语言 开发,建议在 Linux 上运行,当然也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。1. gcc 安装安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:yum install gcc-c++2. PCRE pcre-devel 安装PC原创 2017-11-01 10:56:03 · 2084 阅读 · 0 评论 -
Linux+Nginx+Tomcat实现Web服务器的负载均衡集群
一、环境准备服务器名称系统版本预装软件IP地址Nginx服务器CentOS 7 最小安装Nginx192.168.159.128Web服务器ACentOS 7 最小安装tomcat+jdk192.168.159.128Web服务器BCentOS 7 最小安装tomcat+jdk192.168.1原创 2017-11-01 15:57:57 · 2323 阅读 · 1 评论 -
Linux安装Memcached服务端
第一步:查询memcached 安装资源包信息yun search memcached该指令可以查询yum库中,所包含memcached安装包信息。如下截图所示:第二步:centos 执行安装指令,安装memcached 资源包yum -y install memcached 该指令用来安装memcached,使用户不必担心各个安装包之间的依赖。如下截图信息:原创 2017-11-02 15:46:04 · 1706 阅读 · 0 评论 -
The username you provided is not allowed to use the text-based Tomcat Manager (error 403)
1、背景及现象今天在配置Jenkins的自动部署功能,手动构建时报“The username you provided is not allowed to use the text-based Tomcat Manager (error 403)”错误,如图2、原因用于tomcat7自动部署的管理用户必须具有manager-script角色,manager-gui角色是不够的,原创 2016-10-20 14:08:33 · 7895 阅读 · 4 评论