自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(36)
  • 资源 (8)
  • 收藏
  • 关注

原创 签名工具类

1.SignUtils.javapackage com.scm.mground.utils;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.serializer.SerializerFeature;import lombok.extern.slf4j.Slf4j;import org.springframework.util.StringUtils;import java.util.*;@Slf4jpubl

2020-12-24 16:54:39 360 1

原创 基于从日志中截取数据推送阿里云数据总线(DataHub)

前言公司做的是IOT智能家居产品,最近需要做大数据分析的平台开发。部分定义的元数据需要从后台日志中截取(使用Logstash),然后推送到DataHub(阿里云的数据总线),DataHub再流转到OTS(阿里云的数据表格)。本文主要介绍日志的格式化定义以及如何进行Logstash的配置。原生logstash 的安装使用可以参考前文:利用logstash截取日志中的数据并推送至Kafka不同版本的logstash官方使用说明:logstash官网后台日志格式化约定【强制】使用SLF4J定义变

2020-08-19 15:42:41 768

原创 注解ControllerAdvice 配合 注解ExceptionHandler 实现全局异常返回统一的业务实体

前言mvc应用开发,基于Json数据的restfull交互接口。所有的正常或者异常的数据返回,都需要定义固定的格式。比如,系统出现异常,也能返回统一的错误码+错误信息,而不是返回一堆乱码给接口调用者。统一返回的业务实体定义package com.argrace.platform.dal.dto;import lombok.Data;/** * @author keyingbo */@Datapublic class Result<T> { public enum

2020-07-30 13:49:40 308

原创 springboot的FilterRegistrationBean增加过滤器

前言如果按照j2ee的规范,需要增加Filter的话,要实现Filter接口,然后在web.xml里面配置Filter。现在springboot已经将所有动作封装好。我们只要@Bean 增加FilterRegistrationBean类定义即可增加一个过滤器。自定义Filterpublic class ReplaceStreamFilter implements Filter { private static final Logger log = LoggerFactory.getLogger(

2020-07-30 11:52:30 1573

转载 WebMvcConfigurer常用实现方法介绍

1、WebMvcConfigurer介绍WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的springmvc配置,需要创建一个配置类并实现WebMvcConfigurer 接口;在Spring Boot 1.5版本都是靠重写WebMvcConfigure

2020-07-30 11:23:13 2667 1

原创 继承HttpServletRequestWrapper实现流重复读、参数过滤等场景

背景 项目基于springboot开发,RestFull接口向外暴露的API需要进行签名验证,即在进入真正controller方法前,需要先验证接口请求的有效性,所以需要对提交的POST流进行JSON读,并将相关参数进行验签。如果在Filter中使用request.getInputStream()来获取流来得到body中的信息,可以达到预期效果,但是流的获取只能获取一次,之后再获取就获取不到了,导致controller无法拿到参数而报错。参考相关资料发现实现一个类继承HttpServletReques

2020-07-30 10:54:03 1298 2

原创 Jenkins安装与配置的血泪史

jenkins 安装与配置基于git源码管理、maven构建工具、多子项目的job流水线配置

2020-06-20 16:30:20 1067

原创 利用logstash截取日志中的数据并推送至Kafka

这里写自定义目录标题前言logstash 安装kafka 安装关闭防火墙启动zk与kafka配置logstash启动logstash测试前言接到任务是,需要从web日志中取出设备的操作信息,并推送kafka。领导要求使用logstash,要评估技术可行性。我这边就在自己的机器上,逐步安装logstash,kafka并进行相关的调试安装与试运行。附我们日志的数据案例:2020-06-09 09:44:32,852 [http-nio-8088-exec-3] 13517 INFO - method

2020-06-10 15:38:43 3751

原创 Websocket案例二:账号多端登录踢出

前言上一篇介绍了websocket的原理,以及一个聊天室的Demo上一篇,本文继续基于websocket实现一个账号多端登录踢出的案例。主要的流程程如图:主要流程说明:浏览器客户端1用账号001登录成功后,服务端会生成token,并记录在服务端缓存。服务端的token返回给客户端,客户端保存于本地cookie中。然后,基于token的方式与服务端建立websocket连接。注意这里浏览器可能会刷新,会重新关闭连接再重连。客户端2用账号001登录成功后,服务端会重新生成token,会重新记录缓存

2020-05-11 21:57:40 5043 2

原创 Websocket初识与聊天室Demo

Websocket初识与聊天室Demo写在前面什么是websocketWebSocket案例一:简单聊天室Maven 依赖WebSocketConfig配置WebSocketChatRoomServerwebSocketDemo.html结语写在前面前段时间有个面试,被问到如果要做web端登录保持一端可用,即在多个浏览器登录时,要将前一次登录的信息及时踢出。当时我说了两种方案:第一种 是用ajax轮询服务器,第二种就是websocket。第一种是我刚毕业那会的实施方案,有过相关经验,第二种是之前了解过,

2020-05-10 22:10:39 485

原创 利用SVN进行项目自动化部署_以Resin容

利用SVN进行项目自动化部署一、       背景交待:最近负责将公司OA团队的开发上线流程进行了规范化管理,以往是开发测试上线,都是一个同事在做,这样的方式快捷,但容易出现问题,开发测试上线都可能是同一个人。现在,我将所有流程分开,开发、测试、上线、验收都由不同的同事进行负责。这里,我的任务是进行线上部署。一开始,我们的工作是上传需要上线的代码到svn,测试通过后,再将这批需要上线的代码

2016-10-31 11:28:36 3160

原创 Centos5.6下利用Ambari搭建Hadoop集群(Hotonworks框架)

主要讨论在Centos5.6下通过Ambari进行Hadoop集群的安装(基于Hotonworks框架)

2015-02-12 17:07:40 2381

原创 微信公众平台消息体签名及加解密实例(Java)

前言:      最近在研究微信公众平台的开发,玩得不亦乐乎。基本的回复功能已经实现了,而且回复用到了图灵机器人的接口。其实图灵机器人已经有微信接口可以直接调用。如果项目的需要,想要做个性化需求的话,用这种方式是行不通的。我现在的解决方案是,我开发的应用A作为中间层,连接微信接口与图灵机器人接口。有点扯远了,如题,微信官方为了更高的安全性,10月份推出了消息体签名验证。网上关于此项的实例不多,

2014-12-05 09:29:31 9790

原创 SpringAOP在项目中的简单应用

SpringAOP在项目中的简单应用一、前言项目背景由于公司的机房到期,需要做应用迁移(包括数据库),割接到云平台。但是又不能进行一次性割接,需要分三个阶段:第一阶段割接2个地市,第二阶段再割接9个地市,第三阶段做全盘割接。在第一、第二阶段是要保证云平台与现网平台的应用能够正常并行运行。所以,要保证两边数据访问的正常,需要对某些功能进行改造。比如,某个子功能在并行阶

2014-04-03 21:47:31 8631 1

原创 在内容长页处动态增加滚动的返回头部图标

1.前言:  在做网页设计过程中,如果网页内容的长度不定,且当内容过长时,需要不断下拉滚动条查看新的内容。但是,如果我需要返回头部看原来旧的内容,又需要往上滚动,让用户感觉很不方便。因此,做一个能够根据内容长度动态增加返回头部图标的需求应运而生。2.具体实现:1)css文件内容:/******返回顶部*******/p#back-to-top{ position:

2014-03-10 14:54:47 1116 1

原创 Memcached介绍及简单的使用

Memcached介绍及简单的使用

2014-02-20 22:10:16 2439

原创 利用POI将word转换成html实现在线阅读

利用POI将word转换成html实现在线阅读

2013-12-26 16:05:18 15945 13

原创 springMVC学习笔记--初识springMVC

前一段时间由于项目的需要,接触了springMVC(这里主要是讲3.1版,以下内容也是围绕这个版本展开),发觉其MVC模式真的很强大,也简单易用,完全是基于注解实现其优雅的路径配置的。想想以前接手的项目,是用原生的servlet,一个功能块就得在web.xml上配置一个servlet信息,那个蛋疼,现在那个项目就单配置文件都快达到1万行了。当然,现在是SSH横行的年代,strust2.0也是许多企

2013-10-09 17:01:08 1842

原创 contains invalid expression(s): javax.el.ELException: Function ':not' not found

在tomcat6.0 下部署包含El表达式的java项目时,出现contains invalid expression(s): javax.el.ELException: Function ':not' not found类似异常。经网上找答案后发现是tomcat容器的原因,,解决方法是将jsp文件中类似于:not( xxx )加多一些空格:not   (  xxx  )即可解决;或者

2013-09-11 11:58:04 4225

原创 liunx学习笔记之--认识与学习 BASH

度娘说:Bash(GNU Bourne-AgainShell)是许多Linux平台的内定Shell,它能运行于大多数Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。也就是说,从linux系统的角度来刘,Bash是用户通过命令来管理操作系统的指令集合,是

2013-08-23 11:29:16 1187

原创 linux学习笔记之--vim 程序编辑器

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。2        命令模式(command mode)控制屏幕光标的移动,进行文本的删除、复制等文字编辑工作(不使用[Del]键和[Backspace]

2013-08-20 09:45:10 1140

原创 liunx学习笔记之--档案与文件系统的压缩与打包

1        Linux常见压缩指令1.1.       gzip, zcat1) gzip:减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。语法:gzip [选项] 压缩(解压缩)的文件名各选项的含义:-c 将输出写到标准输出上,并保留

2013-08-19 14:10:08 1025

原创 liunx学习笔记之--磁盘与文件系统管理

1        Ext2文件系统的理解1.1.       三个重要数据及意义1) superblock:记录此 filesystem 的不整体信息,包括inode/block 的总量、使用量、剩余量,以及文件系统的格式不相关信息等;2) inode:记彔文档的属性,一个文档占用一个inode,同时记录此文档的数据所在的 block 号码; 3) block:实际记录档案的内

2013-08-15 10:24:09 1429

原创 Linux学习笔记之--常用文件操作及目录管理命令

1       目录操作的常用指令:1.1.  变换目录:cd;cd 是changedirectory的简写,是变换工作目录的命令;使用方式 : cd [dirName] 说明 : 变换工作目录至dirName。其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。另外,"

2013-08-05 11:41:57 1383

原创 几个简单的排序算法(java版)

前言几个简单的排序算法(java版),这里主要介绍冒泡算法、选择排序、插入排序算法及简单的java代码实现。内容1.   冒泡排序算法冒泡排序是最简单的排序算法,基本的算法思想:它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。算法步骤如下:1)  假设有待排序的队列元

2013-07-31 20:02:20 725

原创 linux学习笔记之--linux的目录结构

1.linux目录配置的依据--FHS。linux的目录配置遵循Filesystem Hierarchy Standard (FHS)标准。FHS实际上仅是规范在根目录(/)下面各个主要目录应该放什么样的文件。FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。第二层则是针对/us

2013-07-26 14:31:31 573

原创 linux学习笔记之--文件及目录权限

1.使用者、群组、其他人的概念。使用者:即所谓的用户,在liunx下,是支持多用户同时使用的,所以每个用户登录系统都拥有自己的独立空间。在系统上所做的操作也就留下了自己的独特标签。比如,对文件或者目录的新增,文件的属性会符加上使用者的账户,如果不开放权限给别人,就只有你自己能查看修改。群组:打个比方,两个开发团队,各开发名称为project1及project2的项目,并且是具有竞争性的,所

2013-07-25 15:40:17 1170

原创 linux学习笔记之--linux简介

1.linux形成与发展图线:Unix诞生(大约1969年由Thompson引导核心程序,1973年Ritchie等人以C语言写出第一个正式Unix核心) ——>1977年:重要的Unix分支--BSD癿诞生 ——>1979年:重要的 System V 架构与版权宣告——>1984年:x86架构的Minix操作系统诞生;GNU计划不FSF基金会癿成立;——>1991年:芬兰大学生Linus T

2013-07-25 11:07:19 608

原创 linux学习笔记之--操作系统概论

1.什么是计算器?接受用户输入指令不数据, 绊由中央处理器癿数学与逻辑单元运算处理后,以产生戒储存成有用的信息;2.计算机硬件的五大单元。输入单元、 输出单元、CPU内部的控制单元、算数逻辑单元与主存储器;3.cpu的种类。分别是精简指令集(RISC)不复杂指令集(CISC)系统;常见的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架构的CPU,个人计算机

2013-07-25 10:34:04 645

原创 合并两个字符串的重叠部分

前言:今天项目开发中,遇到需要将两个字符串重叠部分进行合并并返回合并结果,比如,56、67则返回567,ABC、BCD则返回ABCD,111、222则返回null;本来想在网上找类似的实现代码,可搜索了好久也没找到合适的,于是决定自己实现,毕竟也不难。实现过程: /** * @Title: getOverlapString * @Description: 获取合并两个字符

2012-12-14 11:02:46 3227

原创 手机号码规则模式匹配所有匹配串

前言:今天,项目中对于号码搜索那一块,移动那边要求能相对比较个性化一些,比如增加这么一个功能:内网用户能够设置规则(AAAA、ABCD、_ABC……),外网用户可以通过这些规则进行模式匹配。这里,我需要解释一下所谓的规则:ABCD的代表递增的4个数字、AAAA代表4个同样的数字、_代表占位符表示0~9的数字比如:比如:ABCD返回0123、1234、2345、3456、4567、5

2012-12-14 10:43:43 2460

转载 Oracle的update语句优化研究

Oracle的update语句优化研究一、        update语句的语法与原理1.    语法单表:UPDATE表名称 SET列名称 =新值 WHERE列名称 =某值如:update t_join_situationset join_state='1'whereyear='2011'更新年度为“2011”的数据的join_state字段为

2012-06-20 15:21:13 10296 1

转载 proxool应用详解

最近开发时用到 proxool 数据库连接池框架,这个框架 完全可配置、快速、成熟、健壮。可以透明地为你现存的 JDBC 驱动程序增加连接池功能。 先介绍下什么是 proxool 吧。我也是从网上拷贝的 : Proxool 是一种Java 数据库连接池技术。是sourceforge 下的一个开源项目, 这个项目提供一个健壮、易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于

2012-06-05 14:16:11 624

原创 java web 基于servlet及MVC的学习小结

1.介绍jsp:虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSP Parser)转换成Servlet代码,然后Servlet代码被Java编译器编译成 .class 字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的

2012-05-19 15:14:07 913

原创 MyEclipse 不能编译java文件

MyEclipse 不能编译java文件一般是由于jar包引用错误引起的,解决办法为:“Properties"--->"Java Build Path"在lib目录中找到引用不正确的包并将其删除,问题解决。

2012-05-08 09:47:05 406

原创 axis1.4的学习总结

一.前言:相信大家对webservice有一定的了解我在这里就不再复述webservice的一些基本概念。axis1.3是soap1.2协议的一个实现框架。在工作中我们可以方便的通过axis进行webservice的开发。二.准备工作:1. 开发环境我使用axis1.4做为Web Service引擎,它是Apache的一个开源web service引擎。它目前最为成熟的开源web

2012-05-08 09:19:44 1818 4

kafka_2.11-0.10.2.0.tar.gz

kafka_2.11-0.10.2.0 版解压使用 kafka kafka kafka kafka kafka

2020-06-10

java_部署文件备份

java_部署文件备份

2016-10-31

memercahe相关文件及jar

libevent-2.0.21-stable.tar.gz memcached-1.2.5.tar.gz xmemcached-1.2.3.jar

2014-02-20

利用POI将word转换成html实现在线阅读

利用POI将word转换成html实现在线阅读

2013-12-26

springMVC学习--基本的几个例子

springMVC的基本配置及相关的几个例子。

2013-10-09

servlet及MVC学习实例

servlet及MVC学习实例,servlet及MVC学习实例

2012-05-19

axis1.4的学习总结以及相应部署所有用到的jar包

在这里是本人经过对网络资源的学习总结出来的应用axis1.4进行webservice开发的总结,里面有简单的demo以及所有工程用到的jar包,以及如何进行webservice的部署与发布 (注:这里用到的webservice是基于简单的单值传送,没有深入研究基于对象传送,有兴趣的里面有另外一份详细的axis1.4学习文档)

2012-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除