CXF基于spring配置X.509数字证书安全验证 有更新!

  |   0 评论   |   5,408 浏览

首先开发服务器端 用的是spring集成cxf,可以直接发布到tomcat中。 新建一个web项目:cxftest,导入cxf和spring相关jar包,pom.xml如下: 4.0.0 com.skong cxf-test 1.0-SNAPSHOT jar skong-cxf-demo 通过类来生成wsdl文件, 通过pom中的cxf-codegen生成对应的客户端,服务端 3.1.8 4.2.3.RELEASE org.apache.cxf cxf-rt-frontend-jaxws ${cxf.version} org.apache.cxf cxf-rt-transports-http ${cxf.version} org.apache.cxf cxf-rt-ws-security ${cxf.version} org.apache.cxf cxf-tools-java2ws ${cxf.version} org.apache.cxf cxf-rt-transports-http-jetty ${cxf.version} org.springframework spring-co….

微服务,够了

  |   0 评论   |   4,768 浏览

  微服务,够了     1.为什么选择微服务?     依赖     部分功能实现     水平伸缩     2.我们为微服务做好准备了吗?   先决条件是什么?   快速配置   基本的监控   快速部署   3.微服务的负面因素   运营成本的增加   你的应用会被拖慢   本地开发变的更加的困难   难以伸缩   4.然后呢?   如何向微服务迁移   清理应用程序   重构应用程序   抽取模块独立应用程序   独立应用程序迁移到不同主机   如果可能,重构数据存储系统   百度脑图查看

微信公众号开发--善忘影视(十一)

  |   0 评论   |   4,182 浏览

善忘影视十一 随着抓取的数据越来越多,影视记录表中的数据已经达到了4w多的数据,虽然数据不是很多, 但是搜索结果却超过了好几秒,虽然也存在nginx配置的问题,时间设置的比较短,很容易就超时了,但是就算设置长一些,对于微信结果返回来说,超过5秒就不能正确的返回信息了。 为了解决加载速度缓慢的问题,使用chrome查看加载时间,发现主要是后台的速度慢,所以通过两个方面的优化。 针对列表数据,按照时间排序的功能,对时间添加索引 对于通过关键字搜索的功能,mysql数据库不能很好支持%关键词%,这种模糊查询,以前玩过一段时间lucene,所以打算用这个优化查询,提高查询速度。 如上图中的主页和最新,两个列表功能,打开速度慢,主要是查询的时候,语句中没有添加索引,导致了查询结果太慢。 不管是通过客户端,还是sql命令执行,字段加上索引,打开速度比以前快了不是一点点 针对微信公众号搜索框搜索内容,主要搜索的是title标题,所以只对title做索引操作,lucene也只有两个字段,就是id,title信息 主要的步骤就是先对title生成索引,使用的是ansj分词器,通过lucene搜索到对应的….

微信公众号开发--善忘影视(十)

  |   0 评论   |   3,890 浏览

优化列表加载速度,列表图片压缩 如下图左边的图片 运行了一段时间后,发现打开公众号,或者网页的列表速度很慢,用chrome查看了一下加载时间, 主要是还是在加载图片上,毕竟列表加载那么大的图片,是一件很费时间的事情,现在我就来优化它。 主要分三个步骤 1. 获取列表图片(获取详情页中的海报图片) 2. 压缩图片 3. 上传云存储图片,保存路径到数据库中 3. 修改显示列表图片,显示压缩后的图片 获取列表图片 主要是通过定时器来获取列表数据,然后分析详情页的里面的图片地址,下载对应图片。 关键代码如下 List movieCrawlList = movieCrawlMapper.listNotDealImgByCreateTime(); try { movieCrawlList.forEach(mc -> { String content = mc.getContent(); if (StringUtils.isNotNull(content)) { Document doc = Jsoup.parse(content); Elements imgs = doc.select(“i….

使用jenkins来自动发布war包

  |   0 评论   |   4,046 浏览

使用jenkins来自动发布war包, 比自己用ant写发布要好点 需要配置用户密码,git也一样的, 需要能访问的用户密码 reployfangmaster.sh #!/bin/bash kill -9 $(ps -ef|grep ‘tomcatfd’| grep -v ‘grep’ |awk ‘{print $2}’) rm -rf /opt/tomcatfd/webapps/fangmaster.war rm -rf /opt/tomcatfd/webapps/fangmaster cp /root/.jenkins/jobs/fangmaster/workspace/target/fangmaster-0.0.1-SNAPSHOT.war /opt/tomcatfd/webapps/fangmaster.war /opt/tomcatfd/bin/startup.sh 发送邮件, 需要在系统设置 配置发件人信息

微信公众号开发--善忘影视(九)

  |   0 评论   |   2,694 浏览

主要解决的问题: 影视的数据十五分钟更新一次, 为了减少数据库的访问,添加了redis缓存,缓存数据查询的结果,这样相同的数据就不会再查询一次了数据了,加快查询结果的返回 序列化对象工具类 一共四个方法,序列化对象和数组,反序列化对象和数组 //序列化bean对象–object–>byte[] public static byte[] serialize(T obj) { if (obj == null) { throw new RuntimeException(“序列化对象(” + obj + “)!”); } @SuppressWarnings(“unchecked”) Schema schema = (Schema) RuntimeSchema.getSchema(obj.getClass()); LinkedBuffer buffer = LinkedBuffer.allocate(1024 * 1024); byte[] protostuff = null; try { protostuff = ProtostuffIOUtil.toByteArray(obj, sc….

《去,你的旅行》阅读笔记

  |   0 评论   |   2,440 浏览

去,你的旅行 世界那么大,任性的资本 1.月薪过万,无法任性 2.工薪几座大山 3.存钱讲究科学 结婚潮,守卫钱包 1.学会理财,提前做好预算 2.鸡蛋别放在同一个篮子里面 3.能省则省,红包也能拼 4.准新人,避开五一 5.收份子钱, 要及时钱生钱 预算3000出国游? 斯里兰卡-印度洋上的眼泪 尼泊尔-东方瑞士 柬埔寨-静谧的古老国度 斐济 秘鲁 香港 钱包太小,算算再出发 是不是最想做的 成本是否接受 下载地址: 百度脑图 SVG格式

微信公众号开发--善忘影视(八)

  |   0 评论   |   2,300 浏览

在善忘影视公众号中,搜索到自己想找到的电影列表, 点击列表中的任何一条,都会跳转到电影的详情页,详细描述了电影的相关元数据信息。在详情页的最下方,有一个发送邮件的功能。或许您觉得没什么用,但是在某些时候,需要电脑下载的,而不是直接用手机下载的话,还是挺有用的。我自己就经常看到好看的电影, 就直接发到我自己的邮箱里面,在电脑上打开邮箱的时候,直接点击迅雷下载就好了。如下图,只要按直接在输入框里面输入邮箱地址,点击确定,就会发送到您的邮箱了。 原来想着做一个漂亮的邮箱模板, 发送到邮箱里面的,奈何太多邮箱类型,根本就不支持这种html语法,导致了最后简化功能,只能使用最简单的图片,加下载链接的方式来简单处理了,发个邮件看上去简单,实际上需要掌握的东西还挺多的。如下图,收到邮箱信息大概就是这么样子 下面我详细的讲解一下我做这个功能的需要注意的地方。 1.发送邮件的发件人统一使用了善忘影视的名称 这一点的话,只需要在发送邮件(commons-email)的时候,设置发件人信息为中文字符,并设置编码就好了。如下面代码email.setFrom(key, value,“GBK”); Iterato….

微信公众号开发--善忘影视(七)

  |   0 评论   |   2,249 浏览

微信公众号开发--善忘影视(七) 今天我们就来说说数据抓取的问题,数据来源电影网站的数据抓取。 首先想着用网上现成的爬虫程序去抓取想要数据,然后倒入到数据库中。 八抓鱼采集器 测试了一下, 抓取数据什么的功能不是很复杂, 自己设计的表数据, 住去也都是图形化界面,还有能直接导入的,功能还是挺齐全的, 但是免费版本没办法用。功能限制太大了。对于我导入数据来说太难了,毕竟影视的数据会很多。看下图资费情况 ,如果用于商业的话, 其实也还行,可以节约不少开发时间。不过配置起来的, 还是需要懂一点点代码的,不懂代码来用的话难度还是不小的。 火车头采集器 和上面的原因的, 需要自己配置懂点html代码什么的,价格的话, 可能会便宜的, 如下图 所以这两个免费版本都不符合要求, 我还是自己写代码来抓取好了。 桌子前也有过抓取代码的经验, 所以写这个简单的抓取连接并不难。 java抓取数据,解析html比较简单。是用jsoup来做就好。方便快捷。再通过定时器来抓取,比较方便使用。如下代码以‘电影天堂’示例。 网站编码gbk,直接通过jsoup获取会有中文部分乱码,通过去连接url设置字符编码就可以解决….

微信公众号开发--善忘影视(六)

  |   0 评论   |   1,920 浏览

今天不知道为什么阿里云tomcat停掉了, 微信什么的,都不能提供服务了。上去找也没有找到原因,就想到,自己本地用联通的宽带加上花生壳做了一个外网映射域名,也有tomcat跑着相同的服务。搭建外网域名映射可以参考我hskserver ,只需要简单的配置,就能做到绑定联通的动态域名来获取ip地址。不用担心动态ip的问题了。 之所以选择在本地也部署服务, 主要是阿里云买的ecs配置太低了。 怕跑爬虫等程序,太慢了, 所以数据都是本地服务器抓取上来,放到数据库里面去的 。这样的话, 阿里云的机器,只是用来展示数据了,对机器要求不高了 。今天突然想起来, 阿里云的服务总是挂掉的话, 也烦人, 还不如直接使用本地的tomcat,但是联通太坑了 ,封了80,8080端口,没办法, 只能通过阿里云的ecs来跳转。原来我就在ecs上配置有nginx跳转的。配置如下图 其实只需要简单配置上面那两个地址就好了,但是中间因为一个很简单的问题, 导致了我微信订阅号,善忘影视输入搜索条件无法搜索了。找了很久原因, 也重启了服务 。重发版本都没有解决,最后发现重新初始化微信后台连接,发现日志里面一些信息….

微信公众号开发--善忘影视(五)

  |   0 评论   |   2,139 浏览

今天新增了一个搜索的功能,主要是方便web这块的搜索, 直接在网页端也能搜索内容,而不一定要在微信中搜索结果了。 微信没有认证, 然后呢, 输入框就会出现这种情况了。提示不要输入账号密码什么的,真的无语了, 正好挡在了我的搜索框上。后面再优化好了。出现下面提示,请稍等输入搜索关键字   搜索结果如下图,效果还不错, 还可以下拉加载更多。 实现这个功能很简单,直接上源码吧,就一点点js的代码 搜索 取消 正在加载… <jsp:include page=“/weixin/weuiTabbar” flush=“true”/>

微信公众号开发--善忘影视(四)

  |   0 评论   |   2,598 浏览

对于不会前端的我,设计就更不会了,找现有的前端框架就实必须要的了。 还好微信直接出了weui , 这个前端对于公众号来说,这个ui界面是最好不过了, 几乎不需什么前端的技巧,就可以拿过来用,很贴合微信的风格。还有一个jquery插件功能的,一些基本脚本也都已经写好了,而且ui使用的原生weui界面。所以我选择了,这个jquery-weui,适合后台开发者,快速的开发前端界面。 微信自己出的ui界面 jquery-weui扩展组件   网站链接上有现成实例,使用说明。直接点击查看就好了,示例写的很详细, 看到自己需要的效果,直接添加对应的组件就好了。 以下是我公众号的一些效果,前端页面都采用了jquery-weui,一些tabar,导航栏,列表,提示都直接使用了。只需要自己对接后台获取数据就可以了。

微信公众号开发--善忘影视(三)

  |   0 评论   |   1,724 浏览

善忘影视的目标是让大家找电影的时间变快,搜索结果准确,没有网站上的那么多广告内容, 要跳好几个广告页面,才有我们需要的电影下载链接,还有google浏览器那红色背景的提醒, 现在用google浏览器的人多了,一看到下面这个界面,你还有勇气点开不。 可能病毒, 只是误报而已, 但是里面含有广告链接肯定是不可避免的, 至于广告带什么内容,有没有病毒就不清楚了, 我一般不敢去点。 说了那么多, 下面就讲讲我搜索的数据来源了。现在搜录了3w多影视剧集,都是来自于网上的链接,自己写程序抓取来的,数据库结构很简单。一共就两个表的信息。moviecrawl表示抓取内容信息,moviecrawllink表示抓取对应影视剧集的下载链接。 CREATE TABLE moviecrawl ( id bigint(20) NOT NULL AUTOINCREMENT, movietype int(11) DEFAULT NULL COMMENT ‘电影分类1.最新电影2.华语电视剧3.日韩电视剧4.日韩电影5.欧美电影6.国内电影7.综合电影’, title varchar(200) DEFAULT ….

微信公众号开发--善忘影视(二)

  |   0 评论   |   1,867 浏览

打开开发者模式后,需要一个后台接收微信过来的请求, 比如搜索框输入电影名字, 能返回相关电影列表信息 。 如上我搜索老九门 返回了搜索结果点击对应列表信息,就能查看影视节目的详情信息了。 为了简单, 不需要自己从零开始实现微信上的接口了, 比起最早什么都要自己实现来,现在开源的微信框架都挺成熟了。 我这里用的是http://git.oschina.net/lisenhui/mpsdk4j这个开源的实现, 可以节约很多时间,当然, oschina上有很多,选一个自己觉得可以的就行了, 都大同小异了。我使用的是ssm框架结构,可以看道文档里面有关于springmvc使用说明,如下图, 现在已经是最新版本的,我用版本是早点版本 ,代码可能有点区别,用实际的代码就好了。 #微信账号信息 在属性文件里面配置 weixin.appId=xxx weixin.appSecret=xxxxx weixin.token=xxx weixin.aesKey=xxxxx 在我的是实现类里面实现引用属性值,springmvc 配置文件中初始化了属性文件 @Controller @RequestMapping(….

微信公众号开发--善忘影视(一)

  |   0 评论   |   1,855 浏览

  不知道用什么名字好,就随便取了一个《善忘影视》公众号,用于检索影视资源,方便大家下载资源,了解影视资源的内容。 既然是个公众号,先上微信公众平台申请账号。网址:http://mp.weixin.qq.com/ 使用qq邮箱就可以申请了, 注意和qq帐号不是关联登陆的 。 申请账号注意了,个人用户功能很少。不过我这里不使用支付和菜单等功能。需要注意的时候,订阅号和服务号。订阅号主要是按照用来推广宣传,每天可以发送推送一条信息给我所有的关注用户,服务号主要重功能,提供服务,提供一些便民公众号,比如银行等功能。 这里我要使用的订阅号, 每天推送一条信息到用户上。 登陆到公众号,可以配置一些信息 在自定义菜单上面,如果没有打开开发者模式, 是可以配置一些固定的链接。菜单也可以显示出来的 但是这里我们需要配置开发者模式,所以后面启用开发者模式后,这个菜单会自动关闭掉。 素材管理里面就可以编辑我们每天要推送的一条公众号内容信息。   找到公众号设置这里   名称是之前设置好的,头像和微信号可以设置,微信号就是可以通过这个账号搜索到账户,除了中文的公众号。….

druid 数据库密码加密

  |   0 评论   |   1,926 浏览

cmd命令: 1、切换的druid-1.0.16.jar包所在目录 2、在命令行中执行如下命令: java -cp druid-0.2.9.jar com.alibaba.druid.filter.config.ConfigTools you_password 即输出加密后密码 3、 新版本需要添加公钥方法进去: config.decrypt.key=${config.decrypt.key} 参考:https://github.com/alibaba/druid/wiki/%E4%BD%BF%E7%94%A8ConfigFilter 官方的文档并没有明确说明需要加这个公钥 ,查看了源码后,才知道了需要添加公钥进去才行

房总管2.0版本上线

  |   0 评论   |   1,515 浏览

5个多月辛苦努力,2.0版本已经正式上线了。 希望一切都能顺利,在互联网行业也算是有几个月的经验了, 期间趟过的坑也算是有无数个,曾经说是要坚持的事情,如写博客之类的,坚持运动之类的都已经放弃的不少了。以后能正常上下班的话,一定要重拾这些,坚持下来。

阿里云数据库RDS备份文件导入本地恢复操作

  |   0 评论   |   1,487 浏览

参照aliyun的服务器介绍,导入到本地的数据根本就没有办法用。本地数据库也无法启动起来,找了好久才找到问题 。 参照文档里面,RDS使用的是innobackupex这个工具来备份的。这个工具的感觉对于备份mysql来说,特别好, 备份速度快,同时支持InnoDB,MyISAM,因为我的数据库中就有这两种引擎, 所以,这个工具比较好。 主要的操作步骤如下,就可以把rds上备份的文件,解压缩后,恢复到本地的数据库,建议在本地新安装一个没有使用过的新库,不然,丢掉了数据库数据就亏大了 innobackupex –defaults-file=/var/lib/mysql/backup-my.cnf –apply-log /var/lib/bak 没有指定数据文件路径, 默认的my.cnf文件有指定datadir参数,默认会放在/var/lib/mysql目录下 innobackupex –copy-back /var/lib/bak 必须要授权给mysql用户, 才能启动 $ chown -R mysql:mysql /var/li….