- 博客(30)
- 收藏
- 关注
原创 如何使用springboot优雅地校验请求参数
描述通常我们编写一个接口,参数校验这一步是必不可少的,如果传递的参数不符合规范,那么不应该进入到业务方法应该将不合法信息提示给前端。对于参数校验传统的做法是,每个接口在接收到参数后再手动判断是否合法,这样一来每个接口都要手动编写验证规则,很明显这部分工作可以独立出来做统一验证。springboot的参数验证为解决上述问题,springboot本身提供了一个验证框架。<dependency> <groupId>org.springframework.boot</g
2020-09-29 18:59:26
3438
原创 身份认证系统Oauth2介绍
先看两张截图第一张图是登陆微博时使用第三方QQ登陆,跳转至QQ的登陆授权页面。https://graph.qq.com/oauth2.0/show?which=Login&display=pc&client_id=101019034&response_type=code&scope=get_info%2Cget_user_info&redirect_uri=https%3A%2F%2Fpassport.weibo.com%2Fothersitebind%2Fb
2020-06-09 13:32:36
1906
2
原创 nginx笔记
记录nginx使用过程中遇到的配置及调优1、反向代理&负载均衡当后端有多个服务实例运行,通过nginx发布服务实现负载均衡,客户端统一访问nginx端点,再由反向代理分配给具体的服务器处理请求。在server节点下添加需要代理的location,proxy_pass指向代理的服务地址,有多少个location就配多少个。其中webservers是在upstream里面配置的负载的服务,weight表示负载均衡的权重。upstream webservers { server 127..
2020-05-11 14:11:46
209
原创 ActiveMQ配置持久化消息的过期策略
为什么要配置这个策略最近在开发中遇到一个问题,mq的生产者正常工作,此时消费端由于异常与mq失去连接,加入消费端失联时间较长会导致mq堆积大量消息,等下一次消费端连接上的时候会有大量消息涌入,如果处理不好会导致消费端直接内存溢出。所以我们希望如果mq消息在我们设定的时间内没有被消费就把它删掉,一方面也能缓解mq端的消息积压,释放压力。配置过期策略打开配置文件在conf目录下的activemq.xmlmessage过期自动删除配置<broker xmlns="http://activemq
2020-05-09 14:28:55
2889
3
原创 Tomcat验证http头导致前端向后端传值失败的问题
描述The valid characters are defined in RFC 7230 and RFC 3986前端传递含有非法的字符,导致以上错误。原因新版本的Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。准确说是org.apache.tomcat.util.http.parser.HttpParser#IS_NOT_REQ...
2019-10-24 14:21:57
598
原创 使用 JavaScript 实现的开源可视化库-ECharts
为什么选择Echarts1、上手快,只需要简单的配置即可生成各种图形2、百度开源项目,文档全,社区活跃(之前人保项目使用过的chart.js国外开源框架,中文文档较少)3、实例丰富,可以适用各种各样的功能4、跨平台使用,支持PC端及移动端,从 4.0 开始提供了对微信小程序的适配,支持node上的服务端渲染Echarts简介ECharts,一个使用 JavaScript 实现的开源可视...
2019-08-14 15:35:51
3176
2
原创 ActiveMQ消息队列过多导致客户端连接失败
一、异常描述jvm 1 | Exception in thread "ActiveMQ BrokerService[localhost] Task-997" java.lang.OutOfMemoryError: unable to create new native threadjvm 1 | at java.lang.Thread.start0(Native Meth...
2019-07-03 16:21:21
7712
原创 收集几款常用的Intellij Idea插件
一、Lombok实体类简化工具,自动生成get、set方法,几乎是必备插件,只需要一个注解@Data即可二、Mybatis plugin实现在mapper接口与mapper的xml文件之间来回跳转,就想接口跳到实现类那样,可以快速方便的找到sql映射三、Mybatis Log Plugin将Mybatis执行的sql脚本格式化地打印出来,在Tools – > Mybatis Lo...
2019-06-05 17:14:18
621
原创 H5 Plus移动APP开发之原理介绍-早会分享
一、什么是H5 PlusH5 Plus即HTML5 Plus是在HTML5的基础上做的扩展,是HTML5的加强版,它提供了WebApp的一套规范,HTML5+扩展了JavaScript对象plus,使得js可以调用各种浏览器无法实现或实现不佳的系统能力,设备能力如摄像头、陀螺仪、文件系统等,业务能力如上传下载、二维码、地图、支付、语音输入、消息推送等。二、Native.js是一种将手机操作系...
2019-03-20 14:22:37
3651
原创 Java调用webservice的.asmx后缀接口
前两天,在与其他公司做对接中需要回调一个对方的接口,看了文档后发现是webservice的接口,而且接口名后面还有.asmx的后缀,因为之前接触的webservice接口都是wsdl的形式,所以立马网上搜寻一番,在此记录下具体实现。import javax.xml.namespace.QName;import org.apache.axis.client.Call;import org.ap...
2018-12-26 15:07:29
11233
5
原创 数据交换格式之XML
XML是一种基于XML规范语法的标签类型文档,它是重量级的,本文主要介绍XML在java语言里面的生成与解析,XML生成包为Dom4j,有关XML与其他数据格式之间的比较将会在接下来的文章中给出。一、生成xml使用java代码生成以下xml文档<?xml version="1.0" encoding="UTF-8"?> <Root> <User ...
2018-11-22 17:18:22
914
原创 数据交换格式之JSON
JSON是一种以键值对传递的数据格式,本文主要针对JSON数据格式在JavaScript以及Java语言中的具体应用,JSON相关介绍以及和其他数据格式的比较将在接下来的文章中给出。一、JavaScript是JSON的主战场,JSON可以说是JavaScript对象文字符号的一个子集,由于JSON是JavaScript的一个子集,所以它可以自如的在JavaScript中使用。在JSON中,有...
2018-11-21 17:24:44
674
原创 js获取get提交参数
工作中常遇到第三方程序调用html页面,这时候可能需要传递某些特定参数需要html获取参数并响应,需要通过js获取get提交参数,主要涉及到js对字符串的一些处理,如下function getPar(par) { //获取当前URL var local_url = document.location.href; //获取要取得的get参数位置 var get = local_url.in...
2018-11-15 09:29:57
4072
原创 js实现类似相册的缩略图效果
使用jqthumb.js插件制作缩略图1.将下载好的jqthumb.js插件导入html&lt;script type="text/javascript" src="js/jqthumb.js"&gt;&lt;/script&gt;2.创建需要缩略图显示的图片dom,并制定id&lt;img src="/img/test
2018-11-14 22:01:24
2314
原创 Spring Boot之配置druid监控页面
Spring Boot中使用druid请看spring boot之使用druid作为数据库连接。配置监控页面添加WebFilterpackage com.yang.mb.config;import com.alibaba.druid.support.http.WebStatFilter;/** * @Author: stryang * @Date: 2018/11/8 16:05...
2018-11-08 18:18:34
2628
原创 spring boot之使用druid作为数据库连接
Druid是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能,后面文章会提供druid监控页面的配置。一、pom.xml添加依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId...
2018-11-08 18:08:27
649
原创 spring boot之整合shiro实现用户认证、授权
一.shiro简介1.简介Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。Shiro 主要分为两个部分就是认证和授权,在个人感觉来看就是查询数据库做相应的判断而已,Shiro只是一个框架而已,其中的内容需要自己的去构建,前后是...
2018-11-08 17:43:03
410
原创 spring boot之分页插件PageHepler
一.使用原生的PageHepler1.添加依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.3</version>&l
2018-11-08 09:49:38
378
原创 spring boot之项目打包部署
1.修改pom.xml打包方式以及包名相关信息&lt;!--打包方式--&gt;&lt;packaging&gt;war&lt;/packaging&gt;&lt;build&gt; &lt;!--buil下添加包名--&gt; &lt;finalName&gt;ProjectName&
2018-11-07 16:58:15
307
原创 MySql默认接收数据包不超过1M的问题
具体异常如下Caused by: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (7,095 &gt; 1,024). You can change this value on the server by setting the 'max_allowed_packet' vari...
2018-11-07 09:34:07
1159
原创 spring boot之配置详解
spring boot支持的配置文件spring boot支持两种类型的配置文件,一种是传统的默认配置文件application.properties ,还有一种是现在被广泛推荐使用的YAML文件。书写上properties是采用键值对的形式来表示,而YAML是以类似大纲的缩进形式,这使得YAML表现形式更为清晰易读, 同时配置内容的字符量也得到显著减少:environments: dev:...
2018-11-01 11:40:07
191
原创 idea搭建spring cloud服务注册中心
1.先创建一个maven主项目,file->new->project,选择Maven,next2.创建Eureka服务端,在创建好的maven项目里面右键项目名,new->module,选择Spring Initialzr,next然后next再finish,创建完成后pom.xml文件如下<?xml version="1.0" encoding="UTF-...
2018-10-31 15:43:34
2242
原创 spring boot之hello world!
1.使用idea搭建spring boot项目工程,选择Spring Initializr,选中jdk然后next2.输入Group,Artifact,选中Maven Project,然后next3.选择web-&gt;web 然后next,再finish4.搭建后项目目录如下DemoApplication.java为项目启动入口package com.example.demo;...
2018-10-30 17:48:33
616
原创 微信小程序使用spring boot获取用户唯一标识openId
1.app.js里面调用wx.login(OBJECT) 获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key)等。//app.jsApp({ onLaunch: function() { //调用API从本地缓存中获取数据 var logs = wx.getStorageSync('logs')...
2018-10-30 14:25:47
5851
4
原创 SpringMVC处理请求的工作流程
Spring简介DI(Dependency Injection):依赖注入,四种注入方式IOC(Iversion of Controller):控制反转AOP(Aspect-Oriented Programming):面向切面编程,包括Spring的声明式事务管理处理请求流程1.客户端发送请求到后台服务器;2.springmvc核心控制器DispatcherServlet统一接收请求,...
2018-10-30 14:07:15
3174
原创 SpringMVC整合ActiveMq
实现message监听类import javax.jms.Message;import javax.jms.MessageListener;import javax.jms.TextMessage;import org.springframework.stereotype.Component;@Componentpublic class TopicMessageListener im...
2018-10-30 14:02:44
835
原创 Java常用工具
1.java性能分析神器 jprofiler可分析jvm内存占用,java类的加载情况2.WndSpy窗体侦探用于查看桌面程序窗口信息3.exe4j工具java里面jar包生成工具4.tess4j工具java开源的图像文字识别工具...
2018-10-30 14:00:22
145
原创 MyEclipse、Eclipse中properties文件中文插件
1、Help->Install from site;2、Add;3、Name填入PropEdit或其它任意非空字符串,在URL中填入 http://propedit.sourceforge.jp/eclipse/updates/ 4、选中PropEdit,然后Next;5、后面按照提示安装完成后 重启eclipse...
2018-10-30 13:59:23
469
原创 Centos7上搭建FreeSwitch服务器
一、Linux环境下使用源码安装(以centos7为例)1.下载源码进入目录 cd /usr/local/src使用git获取源码,没有安装git的话需要先安装 运行 yum install git然后运行git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch2.开始编译进入fre...
2018-10-30 10:56:49
3686
转载 Eclipse/MyEclipse实用快捷键总结,保证会用到
在Eclipse里,写一个没有导入相应包的类名(这个类名已经完全写全,比如LayoutManager), 可以用ctrl+shift+M/Ctrl+Shift+o/Ctrl+1导入相应的包. MyEclipse 快捷键1(CTRL) ————————————- Ctrl+1 快速修复 Ctrl+D: 删除当前行 Ctrl+Q 定位到最后编辑的地方 Ctrl+L 定位在某行 Ct
2017-09-12 14:13:34
281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人